# Mid Função de script e de gráfico

Mid() retorna a parte da string iniciando na posição do caractere definido pelo segundo argumento, "start", com o comprimento da string definido pelo terceiro argumento, '"count". Se "count" for omitido, será retornado o restante da string de entrada. O primeiro caractere na string de entrada é o de número 1.

Sintaxe:

Mid(text, start[, count])

Tipo de dados de retorno: caractere

Argumentos

| Argumento | Descrição |
| --- | --- |
| text | A string original. |
| start | Inteiro definindo a posição do primeiro caractere em text a ser incluído. |
| count | Define o comprimento da string de saída. Se omitidos, todos os caracteres a partir da posição definida pelo start são incluídos. |

Exemplo: expressões de gráfico

| Exemplo | Resultado |
| --- | --- |
| `Mid( 'abcdef',3 )` | Retorna `cdef` |
| `Mid( 'abcdef',3, 2 )` | Retorna `cd` |

## Exemplo - Fundamentos de Mid

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

#### Expressão de gráfico

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Os campos a seguir na tabela de dados:

  * `InputText`, a string de texto original

  * `StartPosition` é a posição inicial do primeiro caractere a ser incluído na string de texto original após o processamento

  * `CharacterCount` é o número de caracteres a serem retornados (parâmetro opcional)

Script de carregamento

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

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* ` InputText
                                   `

* `StartPosition`

* `CharacterCount`

Crie as seguintes dimensões calculadas:

* `=mid(InputText,StartPosition)` para calcular os caracteres a serem extraídos de `InputText` a partir do valor inicial no campo `StartPosition`. A função retornará todos os caracteres do valor `StartPosition` até o final de `InputString` porque nenhum parâmetro `Count` foi fornecido.

* `=mid(InputText,StartPosition,CharacterCount)` para calcular os caracteres a serem extraídos de `InputText` a partir do valor inicial no campo `StartPosition`. O valor em `CharacterCount` determina o número de caracteres retornados, a partir do valor no campo `StartPosition`.

Tabela 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 |

A primeira linha retorna o valor `bcdef` para a primeira expressão. A expressão começa na posição 2 e retorna todos os caracteres porque o argumento `Count` não está definido. A segunda expressão também começa na posição 2, mas retorna apenas os caracteres `bcd` porque o argumento `Count` é 2.

A segunda linha retorna o valor `cdef` para a primeira expressão. A expressão começa na posição 3 e retorna todos os caracteres porque o argumento `Count` não está definido. A segunda expressão também começa na posição 3, mas retorna apenas os caracteres `cd` porque o argumento `Count` é 2.

A terceira linha retorna o valor `10714` para a primeira expressão. A expressão começa na posição 2 e retorna todos os caracteres porque o argumento `Count` não está definido. A segunda expressão também começa na posição 2, mas retorna apenas os caracteres `107` porque o argumento `Count` é 3.

A quarta linha retorna o valor `0714` para a primeira expressão. A expressão começa na posição 3 e retorna todos os caracteres porque o argumento `Count` não está definido. A segunda expressão também começa na posição 2, mas retorna apenas os caracteres `07` porque o argumento `Count` é 2.

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

#### Script de carregamento

O código a seguir mostra como usar a função em um script de carregamento.

```
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
];
```

Tabela de resultados

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

## Exemplo - Cenário de Mid

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

#### Expressão de gráfico

Visão geral

Uma fonte de dados contém uma coluna chamada `OrderID` que usa o seguinte formato estruturado: `ORDYYYY-COUNTRYCODE-ORDERNUMBER`. Para atender a um requisito de relatório, você deve extrair e apresentar o código do país como uma coluna separada.

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Orders`.

* Um campo na tabela de dados chamado `OrderID`.

Script de carregamento

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

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:

* ` OrderID
                                   `

Crie a seguinte dimensão calculada:

* `=Mid(OrderID, 9, 2)` para extrair o código de duas letras do país do `OrderID`.

Tabela de resultados

| OrderID | Mid(OrderID, 9, 2) |
| --- | --- |
| ORD2024-CA-789123 | CA |
| ORD2024-UK-654321 | Reino Unido |
| ORD2024-US-123456 | US |

A saída da função `Mid` extraiu com êxito os códigos de país de duas letras dos valores da string `OrderID`.

## Saiba mais

* [Index Função de script e de gráfico](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Index.htm)