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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

La tabla de matriz muestra más meses que el filtro de fecha debido a un problema de medición

Hola a todos,

Soy bastante nuevo en Power BI y me he encontrado con un problema con el que espero que alguien pueda ayudarme, por favor.

Tengo la Tabla A, que es una tabla de datos no relacionada:

DeParaSobresueldo
3.253.300.15
3.303.350.3
3.353.400.45

Tengo una tabla matricial que muestra columnas de fechas de fin de mes, con diferentes filas de información recopilada a través de otras medidas y datos de tabla:

AliPoTD_0-1722875934617.png

He filtrado la tabla para mostrar las fechas de fin de mes de enero a mayo de 2024, pero desde que agregué una medida, ahora tengo columnas del 23 de agosto al 24 de julio, el intervalo de fechas completo de mis datos.

El código que he usado para mi medida es:

Proteína% Precio por litro a pagar =
VAR PPL = suma('Datos de la leche zMASTER'[% de proteína]) / [Litros totales] * 100
DEVOLUCIÓN
--PPL
CALCULAR(
SUMA( 'Bono de proteína'[Bonificación]),
PPL <= 'Bono de proteína'[Para]
&& PPL >= 'Bono de proteína'[De])
Sé que el problema se relaciona con la sección CALCULAR del código, ya que si excluyo esto de la medida y solo muestro el resultado del VAR, muestra los valores solo de enero a mayo de 2024 correctamente como se esperaba.
¿Alguien puede ayudar a explicar por qué está haciendo esto para la medida? Me doy cuenta de que no lo he filtrado completamente para mostrar solo las fechas de Slicer, pero no estoy seguro de por qué solo lo hace para esta medida en particular.
Muchas gracias por cualquier ayuda 🙂
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Es fácil cuando sabes cómo, ¡ja!

Una solución muy simple al problema fue simplemente envolver una declaración IF alrededor de la medida, para verificar si un valor estaba presente, por ejemplo:

Proteína% Precio por litro a pagar =
VAR PPL = suma('Datos de la leche zMASTER'[% de proteína]) / [Litros totales] * 100
DEVOLUCIÓN
SI( ISBLANK([Litros totales]),
ESPACIO EN BLANCO(),
CALCULAR(
SUMA('Bono de proteína'[Bonificación]),
PPL <= 'Bono de proteína'[Para]
&& PPL >= 'Bono de proteína'[De])
/ 100)
Entonces, básicamente, solo se muestra para cualquier valor que se muestre en la tabla con un valor de LITROS TOTALES. Puede que no sea la más bonita de las soluciones, pero funciona. Interesado en saber si hay una solución más ordenada (mejor práctica), aunque si alguien tiene alguna idea 🙂

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Es fácil cuando sabes cómo, ¡ja!

Una solución muy simple al problema fue simplemente envolver una declaración IF alrededor de la medida, para verificar si un valor estaba presente, por ejemplo:

Proteína% Precio por litro a pagar =
VAR PPL = suma('Datos de la leche zMASTER'[% de proteína]) / [Litros totales] * 100
DEVOLUCIÓN
SI( ISBLANK([Litros totales]),
ESPACIO EN BLANCO(),
CALCULAR(
SUMA('Bono de proteína'[Bonificación]),
PPL <= 'Bono de proteína'[Para]
&& PPL >= 'Bono de proteína'[De])
/ 100)
Entonces, básicamente, solo se muestra para cualquier valor que se muestre en la tabla con un valor de LITROS TOTALES. Puede que no sea la más bonita de las soluciones, pero funciona. Interesado en saber si hay una solución más ordenada (mejor práctica), aunque si alguien tiene alguna idea 🙂
Syndicate_Admin
Administrator
Administrator

Hola @AliPoTD ,

Gracias por la respuesta de @amitchandak , permítanme proporcionar otra idea:

Esto puede tener algo que ver con las relaciones entre las tablas de datos. Debe asegurarse de que ha definido correctamente las relaciones entre las tablas. Normalmente, se tiene una relación de uno a varios entre las tablas de fechas y de hechos. Además, compruebe la dirección del filtro de la relación. Si Protein Bonus es una tabla no relacionada, es posible que la medida no esté aplicando el filtro correctamente.


Si esto no resuelve su problema, ¿puede compartir datos de muestra y salida de muestra en formato de tabla? O un ejemplo de pbix después de eliminar datos confidenciales. problema y ayudarte.

Saludos

Clara Gong

Si hay algún post Ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

@AliPoTD , Basado en lo que obtuve

Esto funcionará como

filter(all([PPL] ) , PPL <= 'Bono de proteína'[Para]
&& PPL >= 'Bono de proteína'[Desde])

Hola, gracias por el consejo, pero esto no ha funcionado 😞

Obtengo un error de sintaxis debido al filtrado en un valor VAR, ver imagen:

AliPoTD_1-1722930657305.png

He cambiado el código a lo siguiente para que se extraiga directamente de la tabla no relacionada, pero termino con el mismo error inicial:

AliPoTD_2-1722930750475.png

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors