SubStringCount — funkcja skryptu i funkcja wykresu
Funkcja SubStringCount() zwraca liczbę wystąpień określonego fragmentu tekstu w tekście ciągu wejściowego. W przypadku braku dopasowań zwracane jest 0.
Składnia:
SubStringCount(text, sub_string)
Typ zwracanych danych: liczba całkowita
Argument | Opis |
---|---|
text | Pierwotny ciąg znaków. |
sub_string | Ciąg znaków, który może występować co najmniej raz w tekście text wejściowego ciągu znaków. |
Przykład | Wynik |
---|---|
SubStringCount( 'abcdefgcdxyz', 'cd' ) | Zwraca wartość 2 |
SubStringCount( 'abcdefgcdxyz', 'dc' ) | Zwraca wartość 0 |
Przykład — podstawy SubStringCount
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
-
Zestaw danych załadowany do tabeli o nazwie Example.
-
Jedno pole w tabeli danych o nazwie FruitSentence.
Skrypt ładowania
Example:
Load * inline [
FruitSentence
"I love eating an apple every day.Apple juice is great too!"
"Apple pie is my favorite dessert. I also enjoy apple jam."
"There is an apple and a banana on the table."
"I don't like apples as much as oranges."
"An apple a day keeps the doctor away, but two apples are even better!"
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:
-
FruitSentence
Utwórz następujący wymiar wyliczany:
-
=SubStringCount(FruitSentence, 'apple') do obliczenia, ile razy słowo apple występuje w FruitSentence.
FruitSentence | SubStringCount(FruitSentence, 'apple') |
---|---|
An apple a day keeps the doctor away, but two apples are even better! | 2 |
Apple pie is my favorite dessert. I also enjoy apple jam. | 1 |
I don't like apples as much as oranges. | 1 |
I love eating an apple every day. Apple juice is great too! | 1 |
There is an apple and a banana on the table. | 1 |
Tabela jest sortowana według wymiaru FruitSentence w porządku rosnącym. Funkcja SubStringCount zwraca liczbę wystąpień słowa apple w każdym zdaniu. Na przykład pierwsze zdanie zwraca 2, ponieważ słowo to występuje w zdaniu dwukrotnie. W drugim i czwartym zdaniu funkcja ignoruje słowo Apple, ponieważ nie pasuje ono do wielkości liter wyszukiwanego hasła apple.
Poniższy kod pokazuje, jak użyć tej funkcji w skrypcie ładowania. Ten przykład zawiera poprzedzający ładunek, który wykorzystuje funkcję SubStringCount z funkcją Upper do konwersji całego ciągu na wielkie litery, a następnie wyszukuje słowo APPLE.
Example:
Load *,
SubStringCount(Upper(FruitSentence),'APPLE') as SubStringCount_APPLE;
Load * inline [
FruitSentence
"I love eating an apple every day. Apple juice is great too!"
"Apple pie is my favorite dessert. I also enjoy apple jam."
"There is an apple and a banana on the table."
"I don't like apples as much as oranges."
"An apple a day keeps the doctor away, but two apples are even better!"
];
FruitSentence | SubStringCount_APPLE |
---|---|
I love eating an apple every day. Apple juice is great too! | 2 |
Apple pie is my favorite dessert. I also enjoy apple jam. | 2 |
There is an apple and a banana on the table. | 1 |
I don't like apples as much as oranges. | 1 |
An apple a day keeps the doctor away, but two apples are even better! | 2 |
Przykład — zastosowanie SubStringCount
Przegląd
Zestaw danych produktów owocowych zawiera pole z opisem produktu. W tym przykładzie oblicza się, ile razy w każdym opisie występują następujące nazwy owoców: apple, banana, orange.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
-
Zestaw danych załadowany do tabeli o nazwie Example.
-
Jedno pole w tabeli danych o nazwie ProductDescription.
Skrypt ładowania
Example:
Load * inline [
ProductDescription
"Fresh apple and banana smoothie."
"Organic apple, banana, and orange juice. Great for breakfast."
"A refreshing orange soda made with real orange juice."
"Banana chips with apple and cinnamon flavor."
"Delicious apple pie with a hint of cinnamon and vanilla."
"Tropical banana and orange mix for smoothies."
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:
-
ProductDescription
Utwórz następujące wymiary wyliczane:
-
=SubStringCount(ProductDescription, 'apple') do obliczenia liczby wystąpień słowa apple w ciągu ProductDescription.
-
=SubStringCount(ProductDescription, 'banana') do obliczenia liczby wystąpień słowa banana w ciągu ProductDescription.
-
=SubStringCount(ProductDescription, 'orange') do obliczenia liczby wystąpień słowa orange w ciągu ProductDescription.
ProductDescription | SubStringCount(ProductDescription, 'apple') | SubStringCount(ProductDescription, 'banana') | SubStringCount(ProductDescription, 'orange') |
---|---|---|---|
A refreshing orange soda made with real orange juice. | 0 | 0 | 2 |
Banana chips with apple and cinnamon flavor. | 1 | 0 | 0 |
Delicious apple pie with a hint of cinnamon and vanilla. | 1 | 0 | 0 |
Fresh apple and banana smoothie. | 1 | 1 | 0 |
Organic apple, banana, and orange juice. Great for breakfast. | 1 | 1 | 1 |
Tropical banana and orange mix for smoothies. | 0 | 1 | 1 |
Wynik funkcji SubStringCount zwraca liczbę wystąpień każdego podciągu (apple, banana, orange) w opisie produktu. Na przykład w pierwszym opisie funkcja zwraca 2, ponieważ istnieją dwa wystąpienia słowa orange. W argumencie sub_string jest rozróżniana wielkość liter, więc w drugim opisie funkcja nie liczy słowa Banana, ponieważ nie pasuje ono do podciągu banana w wyrażeniu miary.
Przykład — zastosowanie SubStringCount do analizy zagnieżdżonych danych
Przegląd
Zestaw danych rekordów IT zawiera listę numerów identyfikatorów zmian i kategorii. W tabeli danych pole Categories pochodzi z wielopoziomowej hierarchii, która zawiera listę najwyższej kategorii nadrzędnej, po której następują wszystkie podkategorie, na przykład Software > Program > Patch (Oprogramowanie > Program > Poprawka). Ten scenariusz pokazuje, jak wybrać ostatnią wartość lub wartość liścia z tej niedopracowanej hierarchii kategorii za pomocą kombinacji funkcji SubStringCount i SubField.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
-
Zestaw danych załadowany do tabeli o nazwie Example.
-
Tabela zawiera następujące pola:
-
ChangeID zawiera oryginalny identyfikator zmiany do przetworzenia.
-
Categories zawiera listę kategorii zmian. Kategorie są oddzielone średnikami i wymienione w kolejności hierarchicznej od lewej do prawej, zaczynając od najwyższej kategorii nadrzędnej do najbardziej szczegółowej podkategorii.
-
Skrypt ładowania
Example:
Load * inline [
ChangeID,Categories
CHG00100,Software;Program;Patch
CHG00101,Hardware;Server
CHG00102,Hardware;Network;Router
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
-
ChangeID
-
Categories
Utwórz następujące wymiary wyliczane:
-
=SubStringCount(Categories,';')+1 do obliczenia liczbę poziomów kategorii w hierarchii zmian.
-
=SubField(Categories, ';' ,SubStringCount(Categories,';')+1) do wyodrębnienia kategorii najbardziej na prawo w hierarchii zmian.
ChangeID | Categories | SubStringCount(Categories,';')+1 | SubField(Categories, ';' ,SubStringCount(Categories,';')+1) |
---|---|---|---|
CHG00100 | Software;Program;Patch | 3 | Patch |
CHG00101 | Hardware;Server | 2 | Server |
CHG00102 | Hardware;Network;Router | 3 | Router |
W tym przypadku funkcja SubStringCount jest zagnieżdżona w funkcji SubField. Pierwszy wyliczany wymiar, SubStringCount(), oblicza liczbę zagnieżdżonych wartości w polu Categories. Określa się to poprzez policzenie liczby średników ';' i dodanie 1 do wyniku. Dane te są następnie wstawiane jako trzeci parametr funkcji SubField w celu wyodrębnienia kategorii najbardziej na prawo zagnieżdżonej w polu Categories.
Na przykład przejrzyj wyniki dla wpisu ChangeID CHG00100 . W pierwszym wyliczanym wymiarze wartość SubStringCount wynosi 2. Następnie wyrażenie dodaje 1 do tego wyniku, aby określić, że pole Categories ma trzy zagnieżdżone wartości kategorii, Software, Program i Patch. Funkcja SubField w drugim wyliczanym wymiarze wykorzystuje następnie ten wynik do wyodrębnienia trzeciej kategorii, Patch.