# Mid Función de script y de gráfico

Mid() devuelve la parte de la cadena de entrada que comienza en la posición del carácter definido por el segundo argumento, 'start', y devolviendo el número de caracteres definidos por el tercer argumento, 'count'. Si 'count' se omite, devuelve el resto de la cadena de entrada. El primer carácter de la cadena de entrada se enumera como 1.

Sintaxis:

Mid(text, start[, count])

Tipo de datos que devuelve: cadena

Argumentos

| Argumento | Descripción |
| --- | --- |
| text | La cadena original. |
| start | Un número entero que define la posición del primer carácter que se ha de incluir en text. |
| count | Define la longitud de cadena de la cadena de salida. Si se omite, se incluyen todos los caracteres de la posición definida por start. |

Ejemplo: expresiones de gráfico

| Ejemplo | Resultado |
| --- | --- |
| `Mid( 'abcdef',3 )` | Devuelve `cdef` |
| `Mid( 'abcdef',3, 2 )` | Devuelve `cd` |

## Ejemplo: fundamentos de Mid

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Mid.htm)

#### Expresión de gráfico

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `InputText`, la cadena de texto original

  * `StartPosition`, la posición inicial del primer carácter que se ha de incluir de la cadena de texto original tras el procesamiento

  * `CharacterCount`, el número de caracteres que ha de devolver (parámetro opcional)

Script de carga

```
Example:
Load * inline [
InputText, StartPosition, CharacterCount
abcdef, 3, 2
abcdef, 2, 3
210714, 3, 2
210714, 2, 3
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* ` InputText
                                   `

* `StartPosition`

* `CharacterCount`

Cree las siguientes dimensiones calculadas:

* `=mid(InputText,StartPosition)`, para calcular los caracteres que se han de extraer de `InputText` a partir del valor del campo `StartPosition`. La función devolverá todos los caracteres desde el valor `StartPosition` hasta el final de `InputString` porque no se proporcionó ningún parámetro `Count`.

* `=mid(InputText,StartPosition,CharacterCount)`, para calcular los caracteres que se han de extraer de `InputText` a partir del valor del campo `StartPosition`. El valor en `CharacterCount` determina el número de caracteres que devuelve, a partir del valor en el campo `StartPosition`.

Tabla de resultados

| InputText | StartPosition | CharacterCount | Mid(InputText,StartPosition) | Mid(InputText,StartPosition,CharacterCount |
| --- | --- | --- | --- | --- |
| abcdef | 2 | 3 | bcdef | bcd |
| abcdef | 3 | 2 | cdef | cd |
| 20210714 | 2 | 3 | 10714 | 107 |
| 20210714 | 3 | 2 | 0714 | 07 |

La primera fila devuelve el valor `bcdef` para la primera expresión. La expresión comienza en la posición 2 y devuelve todos los caracteres porque el argumento `Count` no está definido. La segunda expresión también comienza en la posición 2 pero devuelve solo los caracteres `bcd` porque el argumento de `Count` es 2.

La segunda fila devuelve el valor `cdef` para la primera expresión. La expresión comienza en la posición 3 y devuelve todos los caracteres porque el argumento `Count` no está definido. La segunda expresión también comienza en la posición 3 pero devuelve solo los caracteres `cd` porque el argumento de `Count` es 2.

La tercera fila devuelve el valor `10714` para la primera expresión. La expresión comienza en la posición 2 y devuelve todos los caracteres porque el argumento `Count` no está definido. La segunda expresión también comienza en la posición 2 pero devuelve solo los caracteres `107` porque el argumento de `Count` es 3.

La cuarta fila devuelve el valor `0714` para la primera expresión. La expresión comienza en la posición 3 y devuelve todos los caracteres porque el argumento `Count` no está definido. La segunda expresión también comienza en la posición 2 pero devuelve solo los caracteres `07` porque el argumento de `Count` es 2.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Mid.htm)

#### Script de carga

El siguiente código muestra cómo utilizar la función en un script de carga.

```
Example:
Load *,
mid(Text,StartPosition) as Mid1,
mid(Text,StartPosition,Count) as Mid2;
Load * inline [
Text, StartPosition, Count
'abcdef', 3, 2
'abcdef', 2, 3
'210714', 3, 2
'210714', 2, 3
];
```

Tabla de resultados

| Texto | StartPosition | Mid1 | Total | Mid2 |
| --- | --- | --- | --- | --- |
| abcdef | 3 | cdef | 2 | cd |
| abcdef | 2 | bcdef | 3 | bcd |
| 210714 | 3 | 0714 | 2 | 07 |
| 210714 | 2 | 10714 | 3 | 107 |

## Ejemplo: uso de Mid

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Mid.htm)

#### Expresión de gráfico

Vista general

Una fuente de datos contiene una columna llamada `OrderID` que utiliza el siguiente formato estructurado: `ORDYYYY-COUNTRYCODE-ORDERNUMBER`. Para satisfacer un requisito de información, debe extraer y presentar el código de país como una columna aparte.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Orders`.

* Un campo de la tabla de datos llamado `OrderID`.

Script de carga

```
Orders:
Load * inline [
OrderID
ORD2024-US-123456
ORD2024-UK-654321
ORD2024-CA-789123
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

* ` OrderID
                                   `

Cree la siguiente dimensión calculada:

* `=Mid(OrderID, 9, 2)` para extraer el código de país de dos letras de `OrderID`.

Tabla de resultados

| OrderID | Mid(OrderID, 9, 2) |
| --- | --- |
| ORD2024-CA-789123 | CA |
| ORD2024-UK-654321 | REINO UNIDO |
| ORD2024-US-123456 | EE.UU. |

La función `Mid` ha extraído con éxito los códigos de país de dos letras de los valores de la cadena `OrderID`.

## Más información

* [Index Función de script y de gráfico](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Index.htm)