Index() söker en sträng för att hitta startpositionen för den n:e förekomsten av en angiven delsträng. Ett valbart tredje argument ger värdet för n, vilket annars är 1. Ett negativt värde söker från slutet av strängen. Strängens positioner är numrerade vänster till höger från 1 och uppåt.
Syntax:
Index(text, substring[, count])
Returnerad datatyp: heltal
Argument
Argument
Beskrivning
text
Den ursprungliga strängen.
substring
En teckensträng att söka efter i text.
Anteckning om informationOm delsträngen inte finns i texten returnerar Index 0.
count
Definierar vilken förekomst av substring som sökningen ska göras för. Till exempel, söker värdet 2 efter den andra förekomsten. Ett negativt värde börjar från slutet av strängen.
Exempel: diagramuttryck
Exempel
Resultat
Index( 'abcdefg', 'cd' )
Returnerar 3
Index( 'abcdabcd', 'b', 2 )
Returnerar 6 (den andra förekomsten av b)
Index( 'abcdabcd', 'b',-2 )
Returnerar 2 (den andra förekomsten av b räknat från slutet)
Left( Date, Index( Date,'-') -1 ) where Date = 1997-07-14
Returnerar 1997
Mid( Date, Index( Date, '-', 2 ) -2, 2 ) where Date = 1997-07-14
Returnerar 07
Index( 'abc', 'x' )
Returnerar 0 (x existerar inte i strängen abc)
Index( 'abc', 'a', 2 )
Returnerar 0 (det finns ingen andra förekomst av a)
Exempel – grunderna i Index
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som läses in i en datatabell som heter Example.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:
InputString
Skapa följande beräknade dimensioner:
=Index(InputString, 'cd')
=Index(InputString, 'e')
=Index(InputString, 'b', -1)
Resultattabell
InputString
Index(InputString, 'cd')
Index(InputString, 'e')
Index(InputString, 'b', -1)
abcdabcd
3
0
6
abcdefg
3
5
2
Den första raden med strängen abcdabcd returnerar:
3 – den första förekomsten av cd
0 – för att e inte finns i strängen
6 – den första förekomsten av b räknat från slutet av strängen
Den andra raden med strängen abcdefg returnerar:
3 – den första förekomsten av cd
5 – den första förekomsten av e
2 – den första förekomsten av b räknat från slutet av strängen
Anteckning om informationEn negativ count-parameter skannar strängen i omvänd riktning. Den position som returneras anges dock alltid från vänster till höger, även om den skannas baklänges.
Följande kod visar hur du använder funktionen i ett laddningsskript.
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 ];
Resultattabell
Sträng
Index_CD
Index_B
Index_B2
abcdefg
3
2
2
abcdabcd
3
2
6
Exempel – Index-scenario
Översikt
Ett kundsupportcenter har en datauppsättning som innehåller ämnesrader från e-postmeddelanden från kunder. Supportcentret vill kategorisera dessa e-postmeddelanden baserat på de nyckelord som förekommer i ämnesraden, till exempel Refund, Complaint och Technical Issue. Ämnesraderna lagras i ett fält i datasetet som heter EmailSubject.
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som läses in i en datatabell som heter Example.
Ett fält i datatabellen heter EmailSubject.
Laddningsskript
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
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:
EmailSubject
Skapa följande beräknade dimension:
=If(Index(EmailSubject, 'Refund') > 0, 'Refund', 'Other'), för att beräkna vilken ämnestext i e-postmeddelanden som avser återbetalningar.
Utdata från funktionen Index har korrekt identifierat alla ämnesrader som innehåller strängen Refund. Det här är ett exempel på hur du kan analysera och kategorisera data med hjälp av kapslade funktioner och ge användarna mervärde.
Var den här sidan till hjälp för dig?
Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!