# Mid Skript- och diagramfunktion

Mid() returnerar den del av indatasträngen som börjar vid positionen för det tecken som definieras av det andra argumentet, ”start”, och returnerar det antal tecken som definieras av det tredje argumentet ”count”. Om ”count” utelämnas returneras resten av indatasträngen. Det första tecknet i indatasträngen numreras som 1.

Syntax:

Mid(text, start[, count])

Returnerad datatyp: sträng

Argument

| Argument | Beskrivning |
| --- | --- |
| text | Den ursprungliga strängen. |
| start | Heltal som definierar positionen för det första tecknet i text som ska inkluderas. |
| count | Definierar stränglängden för utdatasträngen. Om den utelämnas inkluderas alla tecken från positionen som definieras av start. |

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `Mid( 'abcdef',3 )` | Returnerar `cdef` |
| `Mid( 'abcdef',3, 2 )` | Returnerar `cd` |

## Exempel – grunderna i Mid

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

#### Diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `InputText` den ursprungliga textsträngen

  * `StartPosition` startpositionen för det första tecknet som ska inkluderas från den ursprungliga textsträngen efter bearbetning

  * `CharacterCount` antalet tecken som ska returneras (valfri parameter)

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* ` InputText
                                   `

* `StartPosition`

* `CharacterCount`

Skapa följande beräknade dimensioner:

* `=mid(InputText,StartPosition)` för att beräkna de tecken som ska extraheras från `InputText` med utgångspunkt från värdet i fältet `StartPosition`. Funktionen returnerar alla tecken från värdet `StartPosition` till slutet av `InputString` eftersom ingen parameter för `Count` har angetts.

* `=mid(InputText,StartPosition,CharacterCount)` för att beräkna de tecken som ska extraheras från `InputText` med utgångspunkt från värdet i fältet `StartPosition`. Värdet i `CharacterCount` bestämmer antalet tecken som returneras, med startvärde från värdet i fältet `StartPosition`.

Resultattabell

| Indatatext | Startposition | AntalTecken | Mid(Indatatext,Startposition) | Mid(Indatatext,Startposition,AntalTecken |
| --- | --- | --- | --- | --- |
| abcdef | 2 | 3 | bcdef | bcd |
| abcdef | 3 | 2 | cdef | cd |
| 20210714 | 2 | 3 | 10714 | 107 |
| 20210714 | 3 | 2 | 0714 | 07 |

Den första raden returnerar värdet `bcdef` för det första uttrycket. Uttrycket börjar vid position 2 och returnerar alla tecken eftersom argumentet `Count` inte är inställt. Det andra uttrycket börjar också vid position 2 men returnerar bara tecknen `bcd` eftersom argumentet `Count` är 2.

Den andra raden returnerar värdet `cdef` för det första uttrycket. Uttrycket börjar vid position 3 och returnerar alla tecken eftersom argumentet `Count` inte är inställt. Det andra uttrycket börjar också vid position 3 men returnerar bara tecknen `cd` eftersom argumentet `Count` är 2.

Den tredje raden returnerar värdet `10714` för det första uttrycket. Uttrycket börjar vid position 2 och returnerar alla tecken eftersom argumentet `Count` inte är inställt. Det andra uttrycket börjar också vid position 2 men returnerar bara tecknen `107` eftersom argumentet `Count` är 3.

Den fjärde raden returnerar värdet `0714` för det första uttrycket. Uttrycket börjar vid position 3 och returnerar alla tecken eftersom argumentet `Count` inte är inställt. Det andra uttrycket börjar också vid position 2 men returnerar bara tecknen `07` eftersom argumentet `Count` är 2.

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

#### Laddningsskript

Följande kod visar hur du använder funktionen i ett laddningsskript.

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

Resultattabell

| Text | Startposition | Mitt1 | Antal | Mid2 |
| --- | --- | --- | --- | --- |
| abcdef | 3 | cdef | 2 | cd |
| abcdef | 2 | bcdef | 3 | bcd |
| 210714 | 3 | 0714 | 2 | 07 |
| 210714 | 2 | 10714 | 3 | 107 |

## Exempel – Mid-scenario

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

#### Diagramuttryck

Översikt

En datakälla innehåller en kolumn som heter `OrderID` och som använder följande strukturerade format: `ORDYYYY-COUNTRYCODE-ORDERNUMBER`. För att uppfylla ett rapporteringskrav måste du extrahera och presentera landskoden som en separat kolumn.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Orders`.

* Ett fält i datatabellen heter `OrderID`.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* ` OrderID
                                   `

Skapa följande beräknade dimension:

* `=Mid(OrderID, 9, 2)` för att extrahera den tvåbokstaviga landskoden från `OrderID`.

Resultattabell

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

Utdata från funktionen `Mid` har framgångsrikt extraherat landskoderna med två bokstäver från strängvärdena på `OrderID`.

## Mer information

* [Index Skript- och diagramfunktion](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Index.htm)