# Mid Script- en diagramfunctie

Mid() retourneert het gedeelte van de invoertekenreeks dat begint op de positie van het teken dat is gedefinieerd door het tweede argument, 'start', en retourneert het aantal tekens dat is gedefinieerd door het derde argument, 'count'. Als 'count' wordt weggelaten, wordt de rest van de invoertekenreeks geretourneerd. Het eerste teken in de invoertekenreeks heeft het nummer 1.

Syntaxis:

Mid(text, start[, count])

Retourgegevenstypen: tekenreeks

Argumenten

| Argument | Beschrijving |
| --- | --- |
| text | De oorspronkelijke tekenreeks. |
| start | Geheel getal dat de positie definieert van het eerste teken in text dat moet worden opgenomen. |
| count | Definieert de tekenreekslengte van de uitvoertekenreeks. Bij weglating, worden alle tekens opgenomen vanaf de positie die is gedefinieerd door start. |

Voorbeeld: diagramuitdrukkingen

| Voorbeeld | Resultaat |
| --- | --- |
| `Mid( 'abcdef',3 )` | Retourneert `cdef` |
| `Mid( 'abcdef',3, 2 )` | Retourneert `cd` |

## Voorbeeld - Basisprincipes voor Mid

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

#### Diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `InputText` de oorspronkelijke teksttekenreeks

  * `StartPosition`, de beginpositie van het eerste teken dat na verwerking in de oorspronkelijke teksttekenreeks moet worden opgenomen

  * `CharacterCount`, het aantal tekens dat moet worden geretourneerd (optionele parameter)

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* ` InputText
                                   `

* `StartPosition`

* `CharacterCount`

Maak de volgende berekende dimensies:

* `=mid(InputText,StartPosition)` om de tekens te berekenen die uit `InputText` geëxtraheerd moeten worden, beginnend bij de waarde in het veld `StartPosition`. De functie retourneert alle tekens vanaf de waarde `StartPosition` tot het einde van `InputString` omdat er geen `Count` parameter is opgegeven.

* `=mid(InputText,StartPosition,CharacterCount)` om de tekens te berekenen die uit `InputText` geëxtraheerd moeten worden, beginnend bij de waarde in het veld `StartPosition`. De waarde in `CharacterCount` bepaalt het aantal tekens dat wordt geretourneerd, beginnend vanaf de waarde in het veld `StartPosition`.

Resultatentabel

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

De eerste rij retourneert de waarde `bcdef` voor de eerste uitdrukking. De uitdrukking begint op positie 2 en retourneert alle tekens omdat het `Count` argument niet is ingesteld. De tweede uitdrukking begint ook op positie 2, maar retourneert alleen de tekens `bcd` omdat het `Count` argument 2 is.

De tweede rij retourneert de waarde `cdef` voor de eerste uitdrukking. De uitdrukking begint op positie 3 en retourneert alle tekens omdat het `Count` argument niet is ingesteld. De tweede uitdrukking begint ook op positie 3, maar retourneert alleen de tekens `cd` omdat het `Count` argument 2 is.

De derde rij retourneert de waarde `10714` voor de eerste uitdrukking. De uitdrukking begint op positie 2 en retourneert alle tekens omdat het `Count` argument niet is ingesteld. De tweede uitdrukking begint ook op positie 2, maar retourneert alleen de tekens `107` omdat het `Count` argument 3 is.

De vierde rij retourneert de waarde `0714` voor de eerste uitdrukking. De uitdrukking begint op positie 3 en retourneert alle tekens omdat het `Count` argument niet is ingesteld. De tweede uitdrukking begint ook op positie 2, maar retourneert alleen de tekens `07` omdat het `Count` argument 2 is.

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

#### Load-script

De volgende code laat zien hoe u de functie in een load-script kunt gebruiken.

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

Resultatentabel

| Tekst | Startpositie | Mid1 | Aantal | Mid2 |
| --- | --- | --- | --- | --- |
| abcdef | 3 | cdef | 2 | cd |
| abcdef | 2 | bcdef | 3 | bcd |
| 210714 | 3 | 0714 | 2 | 07 |
| 210714 | 2 | 10714 | 3 | 107 |

## Voorbeeld - Scenario met Mid

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

#### Diagramuitdrukking

Overzicht

Een gegevensbron bevat een kolom met de naam `OrderID` die de volgende gestructureerde indeling gebruikt: `ORDYYYY-COUNTRYCODE-ORDERNUMBER`. Om aan een rapportagevereiste te voldoen, moet u de landcode als een aparte kolom extraheren en presenteren.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Orders`.

* Eén veld in de gegevenstabel met de naam `OrderID`.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

* ` OrderID
                                   `

Maak een nieuwe tabel en voeg de volgende berekende dimensie toe:

* `=Mid(OrderID, 9, 2)` om de tweeletterige landcode te extraheren uit de `OrderID`.

Resultatentabel

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

De uitvoer van de `Mid` functie heeft met succes de tweeletterige landcodes uit de `OrderID` tekenreekswaarden gehaald.

## Meer informatie

* [Index Script- en diagramfunctie](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Index.htm)