Index() doorzoekt een tekenreeks om de beginpositie te vinden van de n-de keer dat een opgegeven subtekenreeks voorkomt. Een optioneel derde argument levert de waarde van n, die 1 is als het argument wordt weggelaten. Bij een negatieve waarde wordt gezocht vanaf het einde van de tekenreeks. De nummering van de posities in de tekenreeks loopt van links naar rechts en begint bij 1.
Syntaxis:
Index(text, substring[, count])
Retourgegevenstypen: geheel getal
Argumenten
Argument
Beschrijving
text
De oorspronkelijke tekenreeks.
substring
Een reeks van tekens om naar te zoeken in text.
InformatieAls de subtekenreeks niet bestaat in de tekst, retourneert Index 0.
count
Definieert naar welk exemplaar van substring moet worden gezocht. Bijvoorbeeld, bij een waarde van 2 wordt naar het tweede exemplaar gezocht. Een negatieve waarde begint vanaf het einde van de tekenreeks.
Voorbeeld: diagramuitdrukkingen
Voorbeeld
Resultaat
Index( 'abcdefg', 'cd' )
Retourneert 3
Index( 'abcdabcd', 'b', 2 )
Retourneert 6 (het tweede exemplaar van b)
Index( 'abcdabcd', 'b',-2 )
Retourneert 2 (het tweede exemplaar van b te beginnen vanaf het einde)
Left( Date, Index( Date,'-') -1 ) where Date = 1997-07-14
Retourneert 1997
Mid( Date, Index( Date, '-', 2 ) -2, 2 ) where Date = 1997-07-14
Retourneert 07
Index( 'abc', 'x' )
Retourneert 0 (x bestaat niet in de tekenreeks abc).
Index( 'abc', 'a', 2 )
Retourneert 0 (er is geen 2e exemplaar van a)
Voorbeeld - Basisprincipes voor Index
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.
Eén veld in de gegevenstabel met de naam InputString.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:
InputString
Maak de volgende berekende dimensies:
=Index(InputString, 'cd')
=Index(InputString, 'e')
=Index(InputString, 'b', -1)
Resultatentabel
InputString
Index(InputString, 'cd')
Index(InputString, 'e')
Index(InputString, 'b', -1)
abcdabcd
3
0
6
abcdefg
3
5
2
De eerste rij met de tekenreeks abcdabcd retourneert:
3—het eerste exemplaar van cd
0—want e is niet gevonden in de tekenreeks
6—het eerste exemplaar van b vanaf het einde van de tekenreeks
De tweede rij met de tekenreeks abcdefg retourneert:
3—het eerste exemplaar van cd
5—het eerste exemplaar van e
2—het eerste exemplaar van b vanaf het einde van de tekenreeks
InformatieEen negatieve count parameter scant de tekenreeks in omgekeerde volgorde. De positie die wordt geretourneerd, wordt echter altijd van links naar rechts aangegeven, zelfs als er in omgekeerde richting wordt gescand.
De volgende code laat zien hoe u de functie in een load-script kunt gebruiken.
Example:
Load
*,
index(String, 'cd') as Index_CD, // returns 3 in Index_CD
index(String, 'b') as Index_B, // returns 2 in Index_B
index(String, 'b', -1) as Index_B2; // returns 2 or 6 in Index_B2
Load * inline [
String
abcdefg
abcdabcd ];
Resultatentabel
Tekenreeks
Index_CD
Index_B
Index_B2
abcdefg
3
2
2
abcdabcd
3
2
6
Voorbeeld – Scenario met Index
Overzicht
Een klantenservicecentrum heeft een gegevensverzameling die onderwerpregels van e-mailberichten van klanten bevat. Het ondersteuningscentrum wil deze e-mails categoriseren op basis van de trefwoorden die in de onderwerpregel voorkomen, bijvoorbeeld Refund, Complaint, en Technical Issue. De onderwerpregels worden opgeslagen in een veld in de gegevensverzameling met de naam EmailSubject.
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.
Eén veld in de gegevenstabel met de naam EmailSubject.
Load-script
Example:
Load * inline [
EmailSubject
Request for a Refund - Order 12345
Technical Issue with Product XYZ
Complaint about delivery service
Follow-up on Refund Request
Technical Issue not resolved
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:
EmailSubject
Maak een nieuwe tabel en voeg de volgende berekende dimensie toe:
=If(Index(EmailSubject, 'Refund') > 0, 'Refund', 'Other') om te berekenen welke tekst van het e-mailonderwerp betrekking heeft op terugbetalingen.
De uitvoer van de functie Index heeft met succes alle onderwerpregels geïdentificeerd die de tekenreeks Refund bevatten. Dit is een voorbeeld van hoe u gegevens kunt analyseren en categoriseren met behulp van geneste functies en meerwaarde kunt bieden aan gebruikers.
Was deze pagina nuttig?
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!