SubStringCount - función de script y de gráfico
SubStringCount() devuelve el número de veces que aparece la subcadena especificada en el texto de la cadena de entrada. Si no existe coincidencia alguna, devuelve 0.
Sintaxis:
SubStringCount(text, sub_string)
Tipo de datos que devuelve: Entero
Argumento | Descripción |
---|---|
text | La cadena original. |
sub_string | Una cadena que puede aparecer una o más veces dentro de la cadena de text introducida. |
Ejemplo | Resultado |
---|---|
SubStringCount( 'abcdefgcdxyz', 'cd' ) | Devuelve 2 |
SubStringCount( 'abcdefgcdxyz', 'dc' ) | Devuelve 0 |
Ejemplo: fundamentos de SubStringCount
Descripción
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos que se carga en una tabla de datos denominada Example.
-
Un campo de la tabla de datos llamado FruitSentence.
Script de carga
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!"
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:
-
FruitSentence
Cree la siguiente dimensión calculada:
-
=SubStringCount(FruitSentence, 'apple'), para calcular cuántas veces aparece la palabra apple en 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 tabla se ordena en la dimensión FruitSentence por orden ascendente. La función SubStringCount devuelve el número de veces que aparece la palabra apple en cada frase. Por ejemplo, la primera frase devuelve 2, porque la palabra aparece dos veces en la frase. En la segunda y cuarta frases, la función ignora la palabra Apple porque no coincide con el patrón de mayúsculas del término de búsqueda apple.
El siguiente código muestra cómo utilizar la función en un script de carga. Este ejemplo incluye un load precedente que utiliza la función SubStringCount con la función Upper para convertir toda la cadena a caracteres en mayúsculas y después busca la palabra 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 |
Ejemplo: uso de SubStringCount
Descripción
Un conjunto de datos de productos frutícolas contiene un campo con descripciones de productos. Este ejemplo calcula el número de veces que aparecen los siguientes nombres de frutas en cada descripción: manzana, plátano o naranja.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos que se carga en una tabla de datos denominada Example.
-
Un campo de la tabla de datos llamado ProductDescription.
Script de carga
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."
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:
-
ProductDescription
Cree las siguientes dimensiones calculadas:
-
=SubStringCount(ProductDescription, 'apple'), para calcular el número de veces que aparece la palabra apple en la cadena ProductDescription.
-
=SubStringCount(ProductDescription, 'banana'), para calcular el número de veces que aparece la palabra banana en la cadena ProductDescription.
-
=SubStringCount(ProductDescription, 'orange'), para calcular el número de veces que aparece la palabra orange en la cadena 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 |
El resultado de la función SubStringCount devuelve correctamente el número de veces que cada subcadena (apple, banana, orange) aparece en la descripción del producto. Por ejemplo, en la primera descripción, la función devuelve 2 porque hay dos instancias de la palabra orange. El argumento sub_string distingue entre mayúsculas y minúsculas, por lo que en la segunda descripción, la función no cuenta la palabra Banana, porque no coincide con la subcadena banana en la expresión de medida.
Ejemplo: uso de SubStringCount analizando datos anidados
Descripción
Un conjunto de datos de registros de casos de soporte de un departamento técnico contiene una lista de números de identificación de cambios y categorías. En la tabla de datos, el campo Categories se deriva de una jerarquía de varios niveles que enumera la categoría padre superior seguida de todas las subcategorías, por ejemplo Software > Programa > Parche. Este caso demuestra cómo escoger el último valor, o valor hoja, de esta jerarquía de categorías irregular utilizando una combinación de las funciones SubStringCount y SubField.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
-
Un conjunto de datos que se carga en una tabla de datos denominada Example.
-
Los siguientes campos de la tabla de datos:
-
ChangeID contiene el ID del cambio original que se va a procesar.
-
Categories contiene una lista de categorías de cambios. Las categorías están separadas por punto y coma y se muestran en orden jerárquico de izquierda a derecha, empezando por la categoría superior hasta la subcategoría más detallada.
-
Script de carga
Example:
Load * inline [
ChangeID,Categories
CHG00100,Software;Program;Patch
CHG00101,Hardware;Server
CHG00102,Hardware;Network;Router
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
-
ChangeID
-
Categories
Cree las siguientes dimensiones calculadas:
-
=SubStringCount(Categories,';')+1, para calcular el número de niveles de categoría en la jerarquía de cambios.
-
=SubField(Categories, ';' ,SubStringCount(Categories,';')+1), para extraer la categoría situada más a la derecha en la jerarquía de cambios.
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 |
En este ejemplo, la función SubStringCount está anidada dentro de la función SubField. La primera dimensión calculada, SubStringCount(), calcula el número de valores anidados en el campo Categories. Se determina contando el número de puntos y comas ';' y sumando 1 al resultado. A continuación, esta salida se inyecta como tercer parámetro de la función SubField para extraer la categoría situada más a la derecha anidada en el campo Categories.
Por ejemplo, revise los resultados de la entrada ChangeID CHG00100 . En la primera dimensión calculada, SubStringCount es 2. A continuación, la expresión suma 1 a ese resultado para determinar que el campo Categories tiene tres valores de categoría anidados, Software, Program y Patch. A continuación, la función SubField, en la segunda dimensión calculada, utiliza este resultado para extraer la tercera categoría, Patch.