No mostrar nada en una celda de la tabla si el valor es cero

Un usuario Pregunto ✅

josephmo

Tengo una vista de tabla con varias columnas. Varias de estas columnas tienen valores numéricos. Lo que quiero es que las celdas se muestren vacías, cuando su valor es cero. Si aplico el siguiente filtro:

Mostrar elementos cuando el valor: es mayor que 0

No se muestra nada en la tabla. ¿Algunas ideas?

Edhans

En respuesta a Edhans

Puede escribirlo como una sola medida / línea como lo haría con una fórmula de Excel:

Total Sales = IF( SUM( 'Sales Table'[Sales] )= 0, BLANK(), SUM( 'Sales Table'[Sales] ) )

Creo que es más difícil de leer, y el cálculo de las ventas totales (suma de las [sales] columna tiene que hacerse dos veces) pero da un poco menos de miedo si nunca antes ha usado DAX.

Mi medida original acaba de asignar el cálculo de ventas totales para poder usarlo tantas veces después como quisiera sin que el motor DAX lo vuelva a calcular cada vez. Luego asigné la fórmula real que quería a la variable Resultado. Hago eso porque si mi medida no funciona, puedo reemplazar la última línea que devuelve «Resultado» a «TotalSales», por ejemplo, para poder ver cuáles son los pasos intermedios.

Luego utilizo www.daxformatter.com para facilitar la lectura.

Edhans

Necesita crear medidas y no usar los campos en su tabla, lo cual es una mala práctica de todos modos.

Entonces, en lugar de usar el campo Ventas de su tabla, cree esta medida

Total Sales =
VAR SalesAmount =
    SUM( 'Sales Table'[Sales] )
VAR Result =
    IF(
        SalesAmount = 0,
        BLANK(),
        SalesAmount
    )
RETURN
    Result

Entonces, si las ventas son cero, esto volverá en blanco. Entonces no aparecerá.

Edhans

En respuesta a Edhans

Puede escribirlo como una sola medida / línea como lo haría con una fórmula de Excel:

Total Sales = IF( SUM( 'Sales Table'[Sales] )= 0, BLANK(), SUM( 'Sales Table'[Sales] ) )

Creo que es más difícil de leer, y el cálculo de las ventas totales (suma de las [sales] columna tiene que hacerse dos veces) pero da un poco menos de miedo si nunca antes ha usado DAX.

Mi medida original acaba de asignar el cálculo de ventas totales para poder usarlo tantas veces después como quisiera sin que el motor DAX lo vuelva a calcular cada vez. Luego asigné la fórmula real que quería a la variable Resultado. Hago eso porque si mi medida no funciona, puedo reemplazar la última línea que devuelve «Resultado» a «TotalSales», por ejemplo, para poder ver cuáles son los pasos intermedios.

Luego utilizo www.daxformatter.com para facilitar la lectura.

josephmo

En respuesta a Edhans

Gracias. Volví a hacer la vista, para reemplazar 0 con un NULL. Estoy tratando de incluir lo menos posible y, si es posible, ningún código DAX y asegurarme de que todo lo que necesito esté en las vistas SQL. Esto resolvió el problema.

El código DAX es sencillo, gracias.

Edhans

En respuesta a josephmo

Genial @josephmo, me alegro de que te haya funcionado.

No tenga miedo de utilizar DAX y, por supuesto, no lo evite. Las vistas SQL pueden reemplazar el 99,9% de lo que hace Power Query, pero muy poco de lo que puede hacer DAX. Siempre es una buena práctica utilizar medidas explícitas en imágenes. Cuando simplemente arrastra un campo numérico a un objeto visual, está creando un medida implícita.

Algunas ventajas de una medida explícita:

  • Puede nombrar la medida como desee y conservar ese nombre en el objeto visual. No es necesario cambiar el nombre de la medida en el objeto visual para personalizarla. Puedes, pero no tienes que hacerlo.
  • Si aplica formato condicional a una medida implícita, entonces, en casos como el suyo, decida que necesita una medida explícita para hacer la lógica IF (0, blanco, 0), cuando elimine la medida implícita y la reemplace con la medida explícita, su se pierde el formateo. Si había comenzado con una medida explícita, simplemente cambie la fórmula y se conservará su formato.
  • Puede crear varias medidas que tengan la misma fórmula si necesita mostrar el formato de manera diferente. Cada medida puede conservar su propio formato. (Porcentaje con 0 lugares en una página de resumen, Porcentaje con 2 lugares en un informe detallado, por ejemplo.
  • Hay algunas cosas que no puede hacer en Vistas SQL sin crear MUCHO más columnas de las necesarias, todas las cuales funcionan en DAX; para eso se diseñó DAX:
    • totales acumulados
    • Porcentaje del total
    • contando agregaciones
    • Lógica SUMIFS (a través de SUMX con FILTER)
    • cualquier tipo de información de fecha (YTD, MTD, mismo período el año pasado, etc.)
    • todos ellos requerirían más columnas para los mismos datos, o simplemente no se pueden hacer.

Utilice Vistas SQL y / o Power Query para el modelado de datos. Guarde el análisis para DAX.

Estoy al punto de que ni siquiera uso medidas implícitas en las páginas del bloc de notas en las que estoy jugando. Porque invariablemente quiero retocar algo y las medidas implícitas son imposibles de alterar. Así que me tomo el tiempo para escribir explícitamente las medidas más simples. Ventas totales = SUM (Tabla[Sales]) luego suelte eso en mi visual ad hoc.

Luego doy un paso más y oculté todos los valores del modelo antes de publicarlo, por lo que solo mis campos clave utilizados para segmentaciones, filtros, etc.están disponibles y medidas. Sin valores.

josephmo

En respuesta a Edhans

Está bien, lo que estás diciendo tiene sentido. ¿Cuál es una buena fuente para aprender DAX?

Edhans

En respuesta a josephmo

En mi opinión, este es el mejor libro para comenzar con DAX. SuperCharge Power BI. En una escala de dificultad del 1 al 10, te llevará del 1 al 5 o 6 a medida que lo pases.

Pasar de 5 a 10 (¡o 11!) Sería la Guía Definitiva de DAX. Pero no empieces con este libro. Estarás perdido en la página 10 hasta que entiendas los conceptos básicos.

josephmo

En respuesta a Edhans

Soy nuevo en PowerBI. Supongo que lo que publicaste es DAX, y todavía tengo que escribir una sola línea de código DAX.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *