# Mid Fonction de script et de graphique

Mid() renvoie la partie de la chaîne d'entrée commençant à la position du caractère défini par le deuxième argument, 'start', et renvoyant le nombre de caractères spécifié par le troisième argument, 'count'. Si 'count' est omis, c'est le reste de la chaîne d'entrée qui est renvoyé. Le premier caractère indiqué dans la chaîne d'entrée porte le numéro 1.

Syntaxe :

Mid(text, start[, count])

Type de données renvoyé : string

Arguments

| Argument | Description |
| --- | --- |
| text | Chaîne d'origine. |
| start | Entier définissant la position du premier caractère de text à inclure. |
| count | Définit la longueur de la chaîne de sortie. S'il est omis, tous les caractères de la position définis par start sont inclus. |

Exemple : Expressions de graphique

| Exemple | Résultat |
| --- | --- |
| `Mid( 'abcdef',3 )` | Renvoie `cdef`. |
| `Mid( 'abcdef',3, 2 )` | Renvoie `cd`. |

## Exemple - Les bases de Mid

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

#### Expression de graphique

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champs suivants dans la table de données :

  * `InputText` chaîne de texte d'origine

  * `StartPosition` position de départ du premier caractère à inclure de la chaîne de texte d'origine après le traitement

  * `CharacterCount` nombre de caractères à renvoyer (paramètre facultatif)

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* ` InputText
                                   `

* `StartPosition`

* `CharacterCount`

Créez les dimensions calculées suivantes :

* `=mid(InputText,StartPosition)` pour calculer les caractères à extraire de `InputText` à partir de la valeur du champ `StartPosition`. La fonction renverra tous les caractères de la valeur `StartPosition` à la fin de `InputString`, car aucun paramètre `Count` n'a été fourni.

* `=mid(InputText,StartPosition,CharacterCount)` pour calculer les caractères à extraire de `InputText` à partir de la valeur du champ `StartPosition`. La valeur de `CharacterCount` détermine le nombre de caractères renvoyés, à partir de la valeur du champ `StartPosition`.

Tableau de résultats

| 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 première ligne renvoie la valeur `bcdef` pour la première expression. L'expression commence à la position 2 et renvoie tous les caractères, car l'argument `Count` n'est pas défini. La deuxième expression commence également à la position 2, mais renvoie uniquement les caractères `bcd`, car l'argument `Count` est 2.

La deuxième ligne renvoie la valeur `cdef` pour la première expression. L'expression commence à la position 3 et renvoie tous les caractères, car l'argument `Count` n'est pas défini. La deuxième expression commence également à la position 3, mais renvoie uniquement les caractères `cd`, car l'argument `Count` est 2.

La troisième ligne renvoie la valeur `10714` pour la première expression. L'expression commence à la position 2 et renvoie tous les caractères, car l'argument `Count` n'est pas défini. La deuxième expression commence également à la position 2, mais renvoie uniquement les caractères `107`, car l'argument `Count` est 3.

La quatrième ligne renvoie la valeur `0714` pour la première expression. L'expression commence à la position 3 et renvoie tous les caractères, car l'argument `Count` n'est pas défini. La deuxième expression commence également à la position 2, mais renvoie uniquement les caractères `07`, car l'argument `Count` est 2.

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

#### Script de chargement

Le code suivant montre comment utiliser la fonction dans un script de chargement.

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

Tableau de résultats

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

## Exemple - Scénario Mid

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

#### Expression de graphique

Vue d'ensemble

Une source de données contient une colonne appelée `OrderID` qui utilise le format structuré suivant : `ORDYYYY-COUNTRYCODE-ORDERNUMBER`. Pour satisfaire à une obligation de génération de rapports, vous devez extraire et présenter le code de pays dans une colonne distincte.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données portant le nom `Orders`.

* Champ dans la table de données portant le nom `OrderID`.

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

* ` OrderID
                                   `

Créez la dimension calculée suivante :

* `=Mid(OrderID, 9, 2)` pour extraire le code de pays à deux lettres de `OrderID`.

Tableau de résultats

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

La sortie de la fonction `Mid` a réussi à extraire les codes de pays à deux lettres des valeurs de la chaîne `OrderID`.

## En savoir plus

* [Index Fonction de script et de graphique](https://help.qlik.com/fr-FR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Index.htm)