Escenarios “¿Qué pasaría sí…? en Power BI

Escenarios “¿Qué pasaría sí…? en Power BI

Photo by Ann H on Pexels.com

Los parámetros de tipo “¿Qué pasaría sí…?” permiten la creación de un parámetro que se usa para representar una variable. PBI crea automáticamente un visual de tipo “slicer” que permite ir modificando el valor para ver cómo se afecta algún cálculo que al interno lo vamos a enlazar con dicha variable.

Por ejemplo, imaginemos un informe de ventas que muestra los ingresos por región. Podría crear un parámetro para la tasa de crecimiento de ventas y mediante una medida en DAX, multiplicar el valor de Ventas Totales por la variable del crecimiento de la tasa, como se muestra en la siguiente figura:

La medida usada en el gráfico tiene la fórmula para multiplicar las Ventas Totales * % Pronóstico de Ventas:

PronosticoVentas=[VentasTotales] * 'PctPronosticoVentas'[PctPronosticoVentas Value]

Para la creación del parámetro:

  • Seleccione la pestaña de “Modelado
  • Escoja crear un “nuevo parámetro
  • En el tipo, seleccione “Numeric Range
  • Defina un nombre, el tipo de datos, el rango de valores mínimo y máximo para el parámetro, así como el valor de incremento. Por ejemplo, un parámetro para manejar un pronóstico de crecimiento podría variar entre 1 y 1.5, con incrementos de 0.05 para ver el movimiento.

Recuerde dejar marcado la opción de agregar el “slicer” para que se agregue de forma automática el visual en el informe.

Existe también los parámetros de tipo “Fields“. Estos parámetros son de un comportamiento más versátil que permiten agrupar medidas o campos, para crear una visual con un filtro más dinámico. Acá en la imagen se muestra donde se pueden crear:

En PBI, se va a crear una estructura con las medidas que se seleccionen, en este caso, se escogen 4 medidas:

Visualmente, se crea un “slicer” con las 4 opciones de medidas: Profit, CostoSumado, SalesAvg y TotalSales. También se creó otro grupo seleccionando fechas, marcando Año, cuarto y mes. Al agregarlo en un visual de tipo “matrix“, podríamos escoger ver la categoría de producto según la medida que seleccionamos (recuerda los diferentes formatos de cada medida), así como poder colocar en las columnas el parámetro que construimos con las fechas, y poder visualizar por año, cuarto o mes, de forma dinámica y según sea la necesidad del usuario final:

En conclusión, los parámetros de tipo “¿Qué pasaría sí…?“, permiten agregar dinamismo a los informes en PBI, son una buena manera de lograr:

  • Mejor toma de decisiones: creando y explorando escenarios hipotéticos para ayudar a comprender posibles resultados.
  • Gestión de riesgos: escenarios hipotéticos pueden ayudar a identificar riesgos potenciales y prepararse con estrategias, como tipos de cambios, recesiones económicas o cambios en la demanda por parte de los clientes.
  • Pronósticos: probar diferentes suposiciones y proyecciones para crear pronósticos más precisos y confiables para la organización, buscando comprenden el impacto que puede generar aumentos o disminuciones en las variables.
  • Comunicación y colaboración: al compartir escenarios dentro de la organización se puede facilitar la discusión y el debate entre los miembros de equipo, partes interesadas y responsables de la toma de decisiones, asegurando que todos estén en la misma página, en la misma línea de pensamiento en cuanto al análisis de los datos resultantes.
  • Versatilidad: brindar diferentes vistas de análisis de variables en un mismo visual le da agilidad al análisis que este realizando el usuario del proceso.

Acá puede buscar el informe llamado CrecimientoVentas_Escenarios.pbix que utiliza los conceptos descritos en esta publicación.

POWER BI: ¿Debo crear una columna calculada o una medida en DAX?

POWER BI: ¿Debo crear una columna calculada o una medida en DAX?

Photo by Keira Burton on Pexels.com

DAX es el lenguaje nativo de Power BI cuya naturaleza es funcional, lo que indica que cada expresión es una llamada a una función. Tiene la particularidad de que el contexto de evaluación de las consultas es como el corazón del funcionamiento de dicho lenguaje.

El contexto de evaluación puede hacer referencia al contexto del filtro o al contexto de la fila. El contexto de filtro se le llama al que filtra los datos, mientras que el contexto de la fila, es un contexto que itera la tabla. Es importante anotar que cuando DAX itera, no filtra la tabla. Por eso no son lo mismo.

Justo por esta razón, al iniciar a codificar código utilizando DAX en los informes de Power BI, resulta en ocasiones confuso si se debe utilizar una columna calculada o una medida. Si optamos por crear una columna calculada, esta se puede realizar de dos maneras, una es por medio del panel de Datos que se ubica a la izquierda de la aplicación de Power BI Desktop tal y como se muestra en la Figura No.1:

Figura 1: Crear una columna desde el panel de “Data”.

Otra forma de realizar la misma acción es desde el panel de “Fields” de la derecha, al seleccionar una tabla y darle clic derecho + “New column” como se visualiza en la Figura No.2:

Figura 2: Crear una columna calculada desde el panel de la derecha de “Fields”.

Por otra parte, cuando hablamos de medidas, estas son creadas desde el panel de “Fields” o “Campos” ubicado al lado derecho de la aplicación, y donde se habilita la opción de crear nuevas medidas tal y como se muestra en la Figura No.3:

Figura 3: Crear una medida desde el panel de la derecha de “Fields”.

Aunque parecen muy similares, la columna calculada se basa en datos cargados en el modelo. Aplica la fórmula individualmente a cada fila. Se evalúa en su definición y se almacena en el modelo (implica memoria RAM y espacio). La columna calculada aplica en un contexto de fila (en inglés llamado “Row Context”).

Por otro lado, una medida se calcula en el tiempo de consulta, es guardada como código fuente, pero se calcula solamente cuando se utiliza en el informe y aplica en contexto de filtro (en inglés llamado “Filter Context”).

En resumen, se podrían comparar de la siguiente forma:

Columna CalculadaMedida
Se almacena, ocupa espacioNo se almacena, solo el código fuente de la fórmula
Consume memoria RAMConsume CPU
Se calcula cuando se refresca el reporteSe calcula en tiempo de ejecución de la consulta
CONTEXTO:  ROW (fila por fila)CONTEXTO: Filtro
Tabla 1: Comparación entre columna calcula y medidas en DAX.

Por ejemplo, supóngase que tenemos la siguiente formula:

Sales[Quantity] * (Sales[Net Price] – Sales[Unit Cost])

¿Considera usted que puede ser usada como columna calculada, como medida o ambas?

Para responder la pregunta, véase la Figura No.4 donde es utilizada como una columna calculada de la tabla llamada “Sales”:

Figura 4: Codificando la columna calculada “Gross Margin” en POWER BI.

Sin embargo, si colocamos la misma fórmula en el código de una medida de “Sales” obtendremos la siguiente advertencia luego de codificarla, como se muestra a continuación en la Figura No.5:

Figura 5: Error al crear una medida.

En este caso, el código es el mismo que se utiliza para la columna calculada, sin embargo, lo que afecta en uno u otro cálculo es el contexto. En el caso de la columna calculada, mostrada en la Figura No.4, tiene un comportamiento predeterminado de contexto de fila, los datos de cada fila determinan su contexto. Por otro lado, la medida, correspondiente a la Figura No.5, no posee dicho contexto, no tiene visibilidad de las filas de los datos, por ende, genera el error que no puede determinar las columnas utilizadas en la fórmula. Es por este motivo que, para poder utilizarlas, se requiere de iteraciones y funciones que utilicen agregación, como por ejemplo SUMX entre otras.

Para finalizar, recuerde tener presente cuál es el objetivo del cálculo que desea agregar a su informe, para definir si requiere hacerlo fila por fila, o si es de tipo de agregación o iteración sobre todo el conjunto de datos, eso le ayudara de antemano a tener claro si usa una medida o una columna calculada.

Bibliografía

Russo, M., & Ferrari, A. (2020). The Definitive Guide to DAX. Pearson Education , Inc.