Repleación en blanco() con ceros

Un usuario Pregunto ✅

Anónimo

Tengo una tabla con medidas SUM simples, pero necesito reemplazar los espacios en blanco con ceros. Si cambio la medida con la sentencia IF , eliminará el filtro aplicado a la columna Máquina

sin ti SI

antes.png

con IF en la medida De los desechos de todos… funciona, pero ahora este 0 está ignorando el filtro en la columna Máquina

después.png

Producción: SUMA( Producción[Piezas producidas] )

Total de chatarra: SUM( Scrap[pocet] )

Hacer: [Producción total] + [Total de rechazos]

Deseos de todo %: s DIVIDE( [Scraps], [Todos] )

Producción de Todo%: s DIVIDE( [Producción], [Todos] )

Gracias

Hola @FeroSK

Si ha solucionado el problema por su cuenta, por favor comparta su solución. si los mensajes anteriores ayudan, por favor márquelo como una solución para ayudar a otros a encontrarlo más rápidamente. Si no, por favor, amablemente elabore más. ¡Gracias!

jdbuchanan71

@FeroSK

Puede utilizar un truco de DIVIDE para eliminar las filas donde no hay [Producción] y luego puede usar el IF asi:

Scrap of All % = DIVIDE([Production],[Production]) * IF ( [Scraps] = 0, 0, DIVIDE ( [Scraps], [All], 0 ) )

DIVIDIR([Production],[Production]) devuelve un BLANK() si no hay [Prodution] y un 1 si hay [Prodcution]. BLANK * un valor – BLANK por lo que el IF sólo se muestra en las líneas donde hay producción y el % es 0 cuando no hay [Scraps]

2020-06-26_10-56-12.png

se puede ver en mis datos tengo mas maquinas, pero algunos tienen que [Producción]. Con sólo el IF obtiene el 0 en filas que incorrectamente estarán vacías, pero la medida corregida desde arriba me da un espacio en blanco en esas filas para que se caigan cuando sólo estoy mostrando la buena medida.

2020-06-26_10-58-01.png

jdbuchanan71

En respuesta a jdbuchanan71

Podemos hacerlo un poco mejor y evitar las medidas de cálculo varias veces usando un VAR.

Scrap of All % =
VAR _All = [All]
VAR _Scraps = [Scraps]
RETURN 
    DIVIDE ( _All, _All ) * IF ( _Scraps = 0, 0, DIVIDE ( _Scraps, _All, 0 ) )

También lo cambié para comprobar el [Todos] en lugar de [Prodution]

edhans

No es necesario usar IF. Utilice COALESCE.

Production :=
COALESCE(
    SUM( Production[ProducedParts] ),
    0
)

Pero tendrá que explicar lo que quiere decir con el filtro de la máquina. ¿Qué es el filtro? Si está filtrando por espacios en blanco, entonces sí, no funcionará cuando cambie espacios en blanco por ceros. Proporcione una captura de pantalla si es posible el filtro y cómo se relaciona con los datos.

Anónimo

En respuesta a edhans

Una primera pantalla de impresión se puede ver sólo algunas de las máquinas (filtro aplicado en el panel de filtro), y todas las máquinas en segundo printcrees (el filtro todavía está encendido) porque hay 0 en Scraps of All % medida, pero necesito mostrar solo las maquinas para elegir en el filtro

FeroSK_0-1593185276021.png

(no comprobar en esta pantalla de impresión)

edhans

En respuesta a Anónimo

Ok, lo siento, pero todavía no lo entiendo.

«Una primera pantalla de impresión se puede ver sólo algunas de las máquinas (filtro aplicado en el panel de filtro)» – Sí, pero no sé lo que es ese filtro. Ha proporcionado una captura de pantalla de un panel de filtro que no tiene selecciones de filtro.

«y todas las máquinas en segundas superficies de impresión (el filtro sigue encendido) porque hay 0 en la medida De los restos de todo» – No veo cómo tus restos 0 en todo %meaure se aplica al filtro. Si esa medida devuelve en blanco, es posible que de forma predeterminada no vea máquinas debido a cómo tiene el conjunto de datos. Puede ver en la imagen de abajo puede mostrar/ocultar elementos sin «sin datos» que significa espacios en blanco.

«pero necesito mostrar solo las maquinas eligen en el filtro» – ¿Qué espera ver exactamente? Es un filtro de maquinas. Eso es lo que deberías ver, sólo máquinas. No lo entiendo.

2020-06-26 08_33_44-Sin título - Power BI Desktop.png

Anónimo

En respuesta a edhans

Me equivoqué. gracias por tu paciencia.

Ejemplo:

Tengo dos dimensiones de filtro: Tipo de maquina, Maquinas (1:* relacion)

FeroSK_4-1593187478563.png

Tabla («Máquina» es de la tabla Máquinas, filtrada por la tabla MachineType)

Resultados:

FeroSK_6-1593187701750.png

Necesito 0 en todas las otras columnas para Drill01, WB01, WB04, WB08, WB12 máquinas

asi que si cambio la medida para los restos de todos los %

de la medida:

Deseos de todo %: s DIVIDE( [Scraps], [Todos])

para medir:

Deseos de todo %:- COALESCE(DIVIDE( [Scraps], [Todos]), 0)

(gracias por COALESCE)

resultado es:

Anónimo

En respuesta a Anónimo

después.png

Necesito una tabla sólo con el filtro Máquinas por MachineType (no en cuadrado rojo)

edhans

En respuesta a Anónimo

Lo siento @FeroSK – No puedo ayudar. No hay ningún campo MachineType en la imagen, por lo que no puedo ayudar a construir un filtro basado en un campo que no puedo ver ni saber qué hay en él. Tienes que entender que no tengo idea de cómo es tu modelo o tus datos, más allá de tus capturas de pantalla. Usted tiene que proporcionar información específica y detallada.

Cómo obtener una buena ayuda rápidamente. Ayúdanos a ayudarte.
Cómo obtener respuestas a su pregunta rápidamente
Cómo proporcionar datos de ejemplo en el foro de Power BI

Anónimo

En respuesta a edhans

@edhans
de fuente Gracias

tal vez esta ayuda:

todas las medidas:

Producción: SUMA( Producción[Piezas producidas] )

Recortes:- SUM( Recortes[pocet] )

Hacer: [Producción total] + [Total de rechazos]

Deseos de todo %: s DIVIDE( [Scraps], [Todos] )

Producción de Todo%: s DIVIDE( [Producción], [Todos] )

Modelo:

FeroSK_0-1593189836840.png

* MachineCodebook – Máquinas (de mis ejemplos)

He puesto MachineType fied a la tabla. ahora un ver su mal. ¿Por qué 🤔

FeroSK_0-1593190341421.png

edhans

En respuesta a Anónimo

@FeroSK Consulte este artículo sobre cómo DAX controla los espacios en blanco. Un número más un número en blanco, ese número, pero cuando se divide con un espacio en blanco, devuelve un espacio en blanco, no un cero.

Puede mostrar/ocultar elementos sin «sin datos», que es un espacio en blanco, usando la configuración de columna que di anteriormente en una captura de pantalla, o puede hacer que los espacios en blanco regresen como cero usando COALESCE como se mencionó anteriormente. En su forma más sencilla:

Measure = COALESCE([Some Other Measure], 0)

Esto devolverá 0 si [Alguna otra medida] devuelve un espacio en blanco.

Anónimo

En respuesta a edhans

@edhans aquí hay un archivo de ejemplo

https://www.uschovna.cz/zasilka/ZRT6735A7CEI7IE9-93X/

Si agrega la medida Desguace % a la tabla, se repetirán todas las máquinas a todos los tipos de máquina. ¿Qué ha pasado con la relación?

No entiendo por qué

Gracias

Deja un comentario

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