SubStringCount - funzione dello script e del grafico
SubStringCount() restituisce il numero di occorrenze della sottostringa specificata nel testo della stringa di input. In mancanza di corrispondenze, viene restituito 0.
Sintassi:
SubStringCount(text, sub_string)
Tipo di dati restituiti: numero intero
Argomento | Descrizione |
---|---|
text | La stringa originale. |
sub_string | Una stringa che può ricorrere una o più volte all'interno della stringa di input text. |
Esempio | Risultato |
---|---|
SubStringCount( 'abcdefgcdxyz', 'cd' ) | Restituisce 2 |
SubStringCount( 'abcdefgcdxyz', 'dc' ) | Restituisce 0 |
Esempio: principi fondamentali della funzione SubStringCount
Panoramica
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
-
Un set di dati che viene caricato in una tabella dati chiamata Example.
-
Un campo della tabella dati denominata FruitSentence.
Script di caricamento
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!"
];
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:
-
FruitSentence
Creare la seguente dimensione calcolata:
-
=SubStringCount(FruitSentence, 'apple'), per calcolare quante volte la parola apple è presente in 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 |
La tabella è ordinata in ordine crescente in base alla dimensione FruitSentence. La funzione SubStringCount restituisce il numero di volte in cui la parola apple ricorre in ogni frase. Ad esempio, la prima frase restituisce 2, perché la parola ricorre due volte nella frase. Nella seconda e quarta frase, la funzione ignora la parola Apple perché l'utilizzo delle maiuscole e minuscole non corrisponde al termine di ricerca apple.
Il codice seguente mostra come utilizzare la funzione in uno script di caricamento. In questo esempio è incluso un carico precedente che utilizza la funzione SubStringCount con la funzione Upper per convertire l'intera stringa in caratteri in maiuscolo, e poi cerca la parola 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 |
Esempio: scenario per l'applicazione della funzione SubStringCount
Panoramica
Un set di dati con i prodotti a base di frutta contiene un campo con le descrizioni dei prodotti. Nel seguente esempio si calcola il numero di volte in cui i seguenti nomi di frutta ricorrono in ogni descrizione: mela, banana o arancia.
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
-
Un set di dati che viene caricato in una tabella dati chiamata Example.
-
Un campo della tabella dati denominata ProductDescription.
Script di caricamento
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."
];
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:
-
ProductDescription
Creare le seguenti dimensioni calcolate:
-
=SubStringCount(ProductDescription, 'apple'), per calcolare il numero di occorrenze della parola apple nella stringa ProductDescription.
-
=SubStringCount(ProductDescription, 'banana'), per calcolare il numero di occorrenze della parola banana nella stringa ProductDescription.
-
=SubStringCount(ProductDescription, 'orange'), per calcolare il numero di occorrenze della parola orange nella stringa 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 |
L'output della funzione SubStringCount restituisce con successo il numero di istanze in cui ogni sottostringa (apple, banana, orange) è presente nella descrizione del prodotto. Per esempio, nella prima descrizione, la funzione restituisce 2 perché ci sono due istanze della parola orange. L'argomento sub_string distingue tra le maiuscole e minuscole quindi, nella seconda descrizione, la funzione non conteggia la parola Banana perché non corrisponde alla sottostringa banana nell'espressione di misura.
Esempio: scenario per l'applicazione della funzione SubStringCount scenario con analisi dei dati annidati
Panoramica
Un set di dati con i nomi di prodotti IT contiene un elenco di numeri ID e categorie di modifica. Nella tabella dati, il campo Categories viene derivato da una gerarchia multilivello che elenca la categoria principale seguita da tutte le sottocategorie, ad esempio Software > Programma > Patch. Questo scenario mostra come scegliere l'ultimo valore, o valore leaf, da questa gerarchia irregolare di categorie, utilizzando una combinazione delle funzioni SubStringCount e SubField.
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
-
Un set di dati che viene caricato in una tabella dati chiamata Example.
-
I seguenti campi nella tabella dati:
-
ChangeID contiene l'ID della modifica originale da elaborare.
-
Categories contiene un elenco di categorie di modifica. Le categorie sono separate da punti e virgola e sono elencate in ordine gerarchico da sinistra a destra, partendo dalla categoria principale superiore fino alla sottocategoria più dettagliata.
-
Script di caricamento
Example:
Load * inline [
ChangeID,Categories
CHG00100,Software;Program;Patch
CHG00101,Hardware;Server
CHG00102,Hardware;Network;Router
];
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
-
ChangeID
-
Categories
Creare le seguenti dimensioni calcolate:
-
=SubStringCount(Categories,';')+1, per calcolare il numero di livelli di categoria nella gerarchia delle modifiche.
-
=SubField(Categories, ';' ,SubStringCount(Categories,';')+1), per estrarre la categoria più a destra nella gerarchia delle modifiche.
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 |
In questo caso, la funzione SubStringCount è annidata all'interno della funzione SubField. La prima dimensione calcolata, SubStringCount(), calcola il numero di valori annidati nel campo Categories. Questo viene determinato contando il numero di punti e virgole ';' e aggiungendo 1 al risultato. L'output viene quindi inserito come terzo parametro della funzione SubField per estrarre la categoria più a destra annidata nel campo Categories.
Per esempio, rivedere i risultati della voce ChangeIDCHG00100. Nella prima dimensione calcolata, SubStringCount è 2. L'espressione aggiunge quindi 1 a questo risultato per determinare che il campo Categories ha tre valori di categoria annidati, Software, Program e Patch. La funzione SubField, nella seconda dimensione calcolata, utilizza poi questo risultato per estrarre la terza categoria, Patch.