Saltar al contenido principal
Power BI

Formateo dinámico de medidas de conmutación

Historial de medidas de interruptores

El uso de una medida de cambio para alternar los resultados es una técnica madura y común que se usa en Power BI y Power Pivot para Excel. Por ejemplo, se puede usar una medida de cambio para alternar lo que aparece en un gráfico para que el usuario final pueda cambiar fácilmente los datos que se visualizan (ver imagen a continuación).

Medida de interruptor original

Esta técnica utiliza una tabla desconectada, un rebanador para recibir la selección del usuario y una medida de cambio para cambiar el resultado de la medida según la entrada del usuario. Cuando selecciona una opción en la cortadora, puede hacer que su gráfico se actualice para mostrar el resultado que desea ver en el gráfico. Escribí en un blog sobre esto en 2014. aquí. Así es como se ve la medida del interruptor de arriba.

Si bien esta técnica es útil, ha habido una limitación con este enfoque; la medida final solo puede tener un formato de un solo número.

Por ejemplo, si tiene las siguientes 3 medidas que requieren un formato diferente, su gráfico puede mostrar los valores según la selección, pero el formato del eje no cambiará en respuesta a la medida diferente.

  • Ventas totales – Moneda
  • Número total de productos: número entero
  • Var vs LY% – Porcentaje

Creé una idea en el sitio de ideas de Power BI en 2016 para permitir formato basado en una selección en la medida Switch. La idea recibió más de 3.000 votos. Ahora es posible resolver este problema utilizando grupos de cálculo en lugar de medidas de conmutación. En el artículo de mi blog de hoy, les mostraré cómo hacerlo.

Medidas en el modelo de datos

Estoy usando la base de datos Adventure Works nuevamente para este artículo. Y como se muestra a continuación (# 1), tengo 4 medidas con 3 formatos diferentes (usaré solo 3 de estos en mi demostración a continuación).

Configurar el informe

Primero, coloqué un gráfico y una segmentación en el lienzo del informe como se muestra a continuación.

Usando la antigua técnica de medición por interruptor, el siguiente paso sería crear una mesa desconectada para la cortadora. El nuevo proceso utilizará un grupo de cálculo en lugar de la tabla desconectada. Para hacer esto, debe tener Tabular Editor instalado en su computadora. Puede leer más sobre cómo hacerlo en mi artículo sobre la instalación de herramientas externas para Power BI.

Editor tabular

En Herramientas externas (n. ° 1 a continuación), seleccione Editor tabular (n. ° 2). Si no ve estas opciones de menú en Power BI Desktop, lea mi artículo vinculado anteriormente.

Se abre el Editor tabular y puede ver las tablas en su modelo de datos en Tablas en el panel izquierdo.

Crear un grupo de cálculo

Haga clic con el botón derecho en la carpeta Tablas (n. ° 1 a continuación), haga clic en Crear nuevo (n. ° 2) y luego en Grupo de cálculo (n. ° 3).

Nombré al Grupo de cálculo nuevo como Elemento de gráfico (# 1 a continuación).

En el elemento de gráfico de grupo de cálculo (n. ° 1 a continuación), cree elementos de cálculo. Haga clic con el botón derecho en Elementos de cálculo (n. ° 2) y luego haga clic en Nuevo elemento de cálculo (n. ° 3).

Creé 3 elementos de cálculo como se muestra a continuación (n. ° 1).

El siguiente paso es crear una medida para el grupo de cálculo. Esto solía ser gestionado por la medida del interruptor utilizando la técnica antigua:

  • Haga clic con el botón derecho en el grupo de cálculo “Elemento de gráfico” y luego haga clic en Crear nuevo y luego en Medir.
  • Nombre la medida como Elemento de gráfico seleccionado (# 1 a continuación)
  • Agregue la función DAX especial SELECTEDMEASURE () para la medida Elemento de gráfico seleccionado como se muestra a continuación (# 2).

A continuación, para cada uno de los elementos calculados (n. ° 1 a continuación), agregue la medida correspondiente (n. ° 2) como expresión (n. ° 3). No hay IntelliSense en el momento de escribir este artículo y debe tener cuidado de escribir las medidas exactamente como aparecen en el modelo de datos. Luego, haga clic en Guardar (# 4).

Hagamos una pausa aquí y echemos un vistazo a cómo funciona.

Verá una nueva tabla llamada “Elemento de gráfico” que contiene una sola columna y una sola medida en Power BI (n. ° 1 a continuación). Si alguna vez ha utilizado medidas de cambio de esta manera, reconocerá que esta nueva tabla, columna y medida le brindan la misma experiencia a la que estaría acostumbrado.

Agregué el ‘Elemento de gráfico'[Name] columna a la cortadora (# 2 abajo) y el [Selected Chart Item] mida al gráfico de líneas (n. ° 3 a continuación). Luego agregué el Calendario[MonthName] al eje del gráfico del eje x y establezca un filtro en Fin. Año = 2004.

Tenga en cuenta que en esta etapa, el formato del% de ventas de bicicletas es formato decimal (# 4 arriba). Este es el problema original al que me referí anteriormente, y este problema ahora se puede resolver con Grupos de cálculo.

  • Vuelva al Editor tabular.
  • A continuación, navegue hasta la medida de ventas totales original (n. ° 1 a continuación), busque “Cadena de formato” (n. ° 2 a continuación) y copie el formato (n. ° 3 a continuación). Luego navegue hasta el Elemento de cálculo (# 4 a continuación), busque la propiedad “Formato de expresión de cadena” (# 5 a continuación) y pegue el Formato de expresión de cadena (# 6 a continuación). [Note: you can type the string without cut and paste if you know the correct syntax to do so – I just think it is easier to cut and paste.]

  • Repita para los otros 2 elementos de cálculo.
  • Guarde los cambios y cierre el Editor tabular.

Una cosa a tener en cuenta aquí. La cadena de formato Expresión (# 6 arriba) debe estar entre comillas, pero no está entre comillas que se muestra en el # 3 arriba – confuso, lo sé. La razón de la diferencia es que el n. ° 3 anterior es una propiedad de la medida. La cadena de expresión de formato # 6 es en realidad una fórmula DAX que debe devolver una cadena de texto. En realidad, esto es muy poderoso porque puede especificar una cadena estática como “#, ## 0”, pero también puede escribir una medida DAX que devuelva condicionalmente diferentes cadenas de texto, como IF ([Some Measure] = “Alguna condición”, ”tipo de formato 1 ″,” tipo de formato 2 ″). Espero que tenga sentido. Puedes leer Artículo del blog de Kasper aquí si quieres mas informacion

Uso del grupo de cálculo para filtrar dinámicamente el gráfico

Como se muestra a continuación, observe que el eje del gráfico ahora se actualiza para reflejar el formato numérico correcto.

Formateo dinámico de medidas de interruptor

error: Atención: Contenido protegido.