Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Sustitución de Null/ blank por 0 utilizando la medida afectada filtrado de Matrix por tabla de fechas

Querida Comunidad,

Mientras trabajaba en uno de los requisitos en los que quería reemplazar los valores en blanco por 0 mediante la medida, se produjo un resultado inesperado cuando estoy utilizando la matriz.

1st Matrix utiliza Real, Presupuesto y previsión directamente desde la tabla. Algunos valores son Null. Cuando estoy usando segmentación de datos para filtrar los datos basados en el año (como 2019, 2020, 2021) sólo se muestran los datos [que se mantienen en estos años, que es como se esperaba.

Ahora el requisito es mostrar 0 en lugar de espacios en blanco en los campos Real y Presupuesto. así que usé 2 medidas mencionadas a continuación en la 2ª tabla

sumaActual = if(ISBLANK(SUM('Table'[Actual])),0,sum('Table'[Actual]))
sumBudget = if(ISBLANK(SUM('Table'[Budget])),0,sum('Table'[Budget]))
Está reemplazando los valores como se esperaba, pero cuando estoy subiendo en la jerarquía actual (Rolling Up to year), y seleccionando un año (por ejemplo, 2020), la matriz muestra todo el año teniendo real y presupuesto como ) previsión como valores en blanco y correctos fro año seleccionado.
Quiero que la matriz se comporte como 1ª tabla (mostrar el valor solo para el año seleccionado) junto con 0 en lugar de espacios en blanco.
¿Cómo puedo lograrlo?

mohitkr_01_0-1617255170304.png

Gracias de antemano.

1 ACCEPTED SOLUTION

No @mohitkr_01,

Para el problema inicial, he probado durante mucho tiempo, pero no puedo encontrar ninguna solución para este problema. Esto puede ser causado por el mecanismo de funcionamiento back-end - función SUMMARIZECOLUMNS.

Puede obtener la consulta por "Analizador de rendimiento" -> "Iniciar grabación" -> "Actualizar objetos visuales" -> consulta Copiar de la matriz.

En el escenario, filterTable se genera a partir de la columna 'Table'[Date] y el groupBy_columnName es 'Date[Date]'. El valor filterTable no se contiene en el groupBy_columnName.

Por lo tanto, la única manera que podemos hacer es usar la misma columna en matriz y segmentación de datos. Al igual que lo que puse en mi archivo .pbix inicial.

Y para los "gastos" en blanco, es causado por la relación uno a uno, no estoy seguro de la razón específica. Pero puede cambiar la relación a One('Date'[Date])-to-Many('Table'[Date]). Entonces el problema desaparecerá.

Saludos

Helado

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

13 REPLIES 13
Syndicate_Admin
Administrator
Administrator

No @mohitkr_01,

No puedo reproducir tu problema. Por favor, compruebe si ignoro algo:

slicer2.PNGslicer1.PNG

Saludos

Helado

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola


Gracias por compartir el informe, pudo obtener el resultado esperado utilizando la fecha de la tabla Date(Date Dimension) de la matriz.

Para reporducir el problema puede utilizar la fecha de 'Tabla' (la tabla de hechos) como columna de matriz.

Me di cuenta de que hay una fila adicional sin valores de gastos, pero tienen 0s en Real, Budget y Forecast.

Aunque lo he excluido de Matrix, pero ¿Yu tiene idea de por qué está sucediendo?

mohitkr_01_0-1618236727331.png

Gracias & Saludos,

Mohit

No @mohitkr_01,

Para el problema inicial, he probado durante mucho tiempo, pero no puedo encontrar ninguna solución para este problema. Esto puede ser causado por el mecanismo de funcionamiento back-end - función SUMMARIZECOLUMNS.

Puede obtener la consulta por "Analizador de rendimiento" -> "Iniciar grabación" -> "Actualizar objetos visuales" -> consulta Copiar de la matriz.

En el escenario, filterTable se genera a partir de la columna 'Table'[Date] y el groupBy_columnName es 'Date[Date]'. El valor filterTable no se contiene en el groupBy_columnName.

Por lo tanto, la única manera que podemos hacer es usar la misma columna en matriz y segmentación de datos. Al igual que lo que puse en mi archivo .pbix inicial.

Y para los "gastos" en blanco, es causado por la relación uno a uno, no estoy seguro de la razón específica. Pero puede cambiar la relación a One('Date'[Date])-to-Many('Table'[Date]). Entonces el problema desaparecerá.

Saludos

Helado

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

@mohitkr_01 Hola Amigo,

Pruebe esta medida =

null a 0 = IF(SUM(Sheet1[Budget])= BLANK(),0,SUM(Sheet1[Budget]))
Nota - Reemplace el nombre de su medida por el mío.
Resultado en la imagen :
HarishKM_0-1617262352717.png






El nombre de Measure no influye en su resultado, a pesar de que le di la oportunidad.

He seleccionado 2020 en segmentación de datos, pero matriz muestra campos para 2019 y 2021.

mohitkr_01_0-1617264253191.png

@mohitkr_01 ¿Puede compartir la captura de pantalla de la vista de modelado. Quería comprobar . ¿Hay alguna relación entre ambos cuadros. Parece que hay un mal modelo trabajando en su informe
Y sí nombre no cambia, pero aliviará la vida de alguien cuando usted no está trabajando en ese informe .

Salud.

Aquí vamos.

mohitkr_01_1-1617265545737.png

@mohitkr_01 Esto pasará de una a una relación. Voy a sugerir .
Por favor, 2 nuevos col. en la tabla.
Año = Año (tabla [fecha])
Mes = Formato(Tabla[fecha],"Mmm-yy")
A continuación, intente .
Espero que funcione para ti

Creo que esta medida es equivalente a, sumaActual = if(ISBLANK(SUM('Table'[Actual])),0,sum('Table'[Actual]))
Obtuve el mismo resultado que antes usando " null a 0 = IF(SUM(Sheet1[Budget])= BLANK(),0,SUM(Sheet1[Budget]))"

Syndicate_Admin
Administrator
Administrator

@amitchandak : Probé la medida, la modifiqué como se muestra a continuación:

SumofAct =
var act = sum('Table'[Actual])+0
var mindt = MINX(allselected('date'[Date]),'date'[Date])
var maxdt = MAXX(ALLSELECTED('date'[Date]),'date'[Date])
devolución
CALCULATE(if(max('date'[Date]) < mindt || max('date'[Date])> maxdt, BLANK(),act))
Pero no ha reemplazado null, pero está introduciendo otra columna en blanco, pero está mostrando datos para el año pertinente,
mohitkr_01_0-1617259228496.png

@mohitkr_01 , ¿Solo quieres comprobar el año en slicer y año en matriz visual, ambos viniendo de la tabla de fechas?

No, la fecha de la matriz procede de la tabla Fact, pero el año en Slicer es de la dimensión Date.

Syndicate_Admin
Administrator
Administrator

@mohitkr_01 , si utiliza isblank o +0 medida, hace una combinación izquierda y muestra todos los valores.

Este es el ejemplo, lo que termino haciendo para controlarlo en el rango, cuando estoy usando una cita tbale

0 entre rango
Medida = var _1= SUM(Opportunity[Opportunity count]) +0
var _min = minx(ALLSELECTED('Calendar'), 'Calendar'[Date])
var _max = maxx(ALLSELECTED('Calendar'), 'Calendar'[Date])
devolución
CALCULATE(if(max('Calendar'[Fecha]) <_min || max('Calendario'[Fecha]) >_max , BLANK(), _1))

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.