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
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
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)
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
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
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.
De volgende code laat zien hoe u de functie in een load-script kunt gebruiken.
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 nieuw tabblad.
Het load-script bevat:
Een gegevensverzameling die wordt geladen in een tabel met de naam Orders.
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!