Qlik – Set Analysis

El análisis de conjuntos es una de las cosas más complejas que puede usar en QlikView o Qlik Sense. Su sintaxis a menudo se percibe como complicada y existen algunos malentendidos a su alrededor. Así que aquí está mi breve explicación.

El análisis de conjuntos es una forma de definir un alcance de agregación diferente de la selección actual. Piénselo como una forma de definir una agregación condicional. La condición, sin embargo, es en sí misma una selección que se evalúa antes de expandir el cubo (el gráfico). Por lo tanto, no es posible tener una condición que se evalúa fila por fila.

El análisis de conjuntos se usa dentro de una función de agregación, p. en una expresión como

[qlik-code type=»exp»]Sum (Ventas)[/qlik-code]

El primer paso es agregar los marcadores para el análisis del conjunto: los corchetes:

[qlik-code type=»exp»]Sum ({…} Ventas)[/qlik-code]

Estos definen el conjunto de registros sobre el cual se debe realizar la agregación. En el interior, puede usar identificadores y operadores diferentes, p. ‘$’ Para los registros implicados por la selección actual, ‘1’ para todos los registros, ‘1 – $’ para todos los registros excluidos, etc.

Un conjunto de registros que puede definir mediante una simple selección se denomina conjunto natural. No todos los conjuntos de registros son naturales; por ejemplo, {1- $} no siempre se puede definir a través de una selección.

El siguiente paso suele ser agregar un modificador de conjunto, que se define mediante corchetes angulares. El modificador de conjunto agrega o cambia una selección. Se puede usar en cualquier conjunto natural y consiste en una lista de campos, donde cada campo puede tener una nueva selección:

[qlik-code type=»exp»]Sum ({$ <…>} Ventas)[/qlik-code]

El siguiente paso es definir el conjunto de elementos para un campo; el conjunto de valores de campo que define la selección. El conjunto de elementos podría ser una referencia de campo o una función establecida, P () o E (). Sin embargo, es más común que sea una lista explícita de valores de campo o una búsqueda, y luego necesita los corchetes para definir el conjunto de elementos:

[qlik-code type=»exp»]Sum ({$ <Fecha = {…}>} Ventas)[/qlik-code] o [qlik-code type=»exp»]Sum ({$ <Fecha = P (…)>} Ventas)[/qlik-code]

Una búsqueda se puede definir a través de comillas dobles. De esta forma, se seleccionarán los valores de campo que coincidan con la cadena de búsqueda:

[qlik-code type=»exp»]Sum ({$ <Fecha = {«…»}>} Ventas)[/qlik-code]

¡No use comillas simples para iniciar una búsqueda aquí! Las comillas simples deben denotar literales, es decir, valores de campo explícitos. (Sí, hoy las comillas simples funcionan como una búsqueda, pero este es un error que un día se solucionará …)

A menudo se realiza una búsqueda numérica, definida por un operador relacional líder. Luego, los valores de campo se seleccionarán en base a una comparación:

[qlik-code type=»exp»]Sum ({$ <Fecha = {«<= …»}>} Ventas)[/qlik-code]

Para empeorar las cosas, el valor con el que se comparan los valores de campo suele ser calculado. Y para obtener un valor calculado en la expresión, se necesita una expansión en dólares:

[qlik-code type=»exp»]Sum ({$ <Fecha = {«<= $ (…)»}>} Ventas)[/qlik-code]

Dentro de la expansión del dólar, necesita una expresión que comience con un signo igual y contenga una función de agregación, por ejemplo:

[qlik-code type=»exp»]Sum ({$ <Fecha = {«<= $ (= Max(Fecha))»}>} Ventas)[/qlik-code]

Esta función de agregación se evalúa globalmente, antes de que el cubo se expanda.

Como puede ver, hay muchos niveles de expresión de conjunto y muchos pares de delimitadores que deben coincidir. Cuando escribe expresiones establecidas, siempre debe escribir ambos corchetes directamente, y luego continuar con la expresión entre ellos. De esta forma evitará errores de sintaxis simples.

¡Buena suerte con tus expresiones de análisis de conjuntos!


Publicado

en

por

Etiquetas:

Comentarios

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.