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

Get Fabric certified for FREE! Don't miss your chance! Learn more

Reply
Syndicate_Admin
Administrator
Administrator

El filtro matricial filtra los resultados necesarios

Hola

Tengo una matriz en la que tengo un filtro creado para mostrar solo los elementos (NDC usado) que cumplen una condición dinámica. Para cada elemento, una fórmula (Selección de acumulación M) devuelve un 1 si es verdadero y BLANK() si es falso. Esto parece estar funcionando.

Actualmente, la fórmula tiene en cuenta la fecha más reciente (18/04/24) y compara la cantidad (Tipo SUMA) con la fecha disponible anterior (15/04/24). Si la cantidad de la fecha anterior es >=0 y la cantidad de la fecha anterior es < 0, entonces se devuelve un 1, de lo contrario BLANK(). **Básicamente, estoy buscando elementos que hayan pasado de positivo/cero a negativo.**

La fórmula está funcionando, aquí están los datos cuando la descargo en la Matriz sin filtros:

jhollingworth_0-1713794134373.png

El problema es que cuando filtro la matriz para mostrar solo valores de 1 para (Selección de acumulación M), solo se muestran dos de los elementos:

jhollingworth_1-1713794184670.png

No puedo entender por qué no se muestran los otros dos elementos (338114403 y 54643564901).

Cualquier ayuda es apreciada y ¡Gracias!

1 ACCEPTED SOLUTION

Esto ayudó. Tuve que hacer algunos ajustes, pero a continuación se muestra lo que funcionó.

Selección de acumulación M =
FUERON MAXDSEL = MAXX(RESUMIR(TODOS SELECCIONADOS('acumulaciones'[fecha]),'acumulaciones'[fecha],"Fecha máxima", 'Acumulaciones'[Fecha]),[Fecha máxima])
FUERON PREVD = CALCULAR( MÁXIMO('Acumulaciones'[Fecha]), 'Acumulaciones'[Fecha] < MAXDSEL )
FUERON PREVDATE = COMPENSAR( -1, ORDENAR('Acumulaciones'[Fecha]) )
FUERON PREVSUM = CALCULAR( MÁXIMO('Acumulaciones'[Tipo suma]), 'Acumulaciones'[Fecha] = PREVD )
FUERON CURSUM = CALCULAR( MÁXIMO('Acumulaciones'[Tipo suma]), 'Acumulaciones'[Fecha] = MAXDSEL )

DEVOLUCIÓN
INTERRUPTOR(
VERDADERO(),
SELECTEDVALUE('Medidas de acumulación'[Encabezado#]) = ESPACIO EN BLANCO(),
1,


SELECTEDVALUE('Medidas de acumulación'[Encabezado#]) = 3,
SI(
NO ISBLANK( PREVSUM ),
INTERRUPTOR(
VERDADERO(),
PREVSUM >= 0 > CURSUM <0, 1
)
)
)

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Este @झोलिंगवर्थ ,

A continuación se muestra mi tabla:

vxiandatmsft_0-1713852540713.png

El siguiente DAX podría funcionar para usted:

Accumulation Selection M = 
VAR MAXD =  MAX('Accumulations'[Date])
VAR PREVD = CALCULATE( MAX('Accumulations'[Sum]), 'Accumulations'[Date] < MAXD )
VAR EVD = CALCULATE(MIN(Accumulations[Sum]),Accumulations[Date] = MAXD)
RETURN
 IF(EVD < 0 && PREVD >= 0 , 1 , BLANK())

El resultado final se muestra en la siguiente figura:

vxiandatmsft_1-1713852594805.png

SI desea filtrar la selección de acumulación M, y puede hacer clic en esto:

vxiandatmsft_2-1713852659352.png

Saludos

Xianda Tang

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

Esto ayudó. Tuve que hacer algunos ajustes, pero a continuación se muestra lo que funcionó.

Selección de acumulación M =
FUERON MAXDSEL = MAXX(RESUMIR(TODOS SELECCIONADOS('acumulaciones'[fecha]),'acumulaciones'[fecha],"Fecha máxima", 'Acumulaciones'[Fecha]),[Fecha máxima])
FUERON PREVD = CALCULAR( MÁXIMO('Acumulaciones'[Fecha]), 'Acumulaciones'[Fecha] < MAXDSEL )
FUERON PREVDATE = COMPENSAR( -1, ORDENAR('Acumulaciones'[Fecha]) )
FUERON PREVSUM = CALCULAR( MÁXIMO('Acumulaciones'[Tipo suma]), 'Acumulaciones'[Fecha] = PREVD )
FUERON CURSUM = CALCULAR( MÁXIMO('Acumulaciones'[Tipo suma]), 'Acumulaciones'[Fecha] = MAXDSEL )

DEVOLUCIÓN
INTERRUPTOR(
VERDADERO(),
SELECTEDVALUE('Medidas de acumulación'[Encabezado#]) = ESPACIO EN BLANCO(),
1,


SELECTEDVALUE('Medidas de acumulación'[Encabezado#]) = 3,
SI(
NO ISBLANK( PREVSUM ),
INTERRUPTOR(
VERDADERO(),
PREVSUM >= 0 > CURSUM <0, 1
)
)
)
Syndicate_Admin
Administrator
Administrator

Una actualización,
Parece que el filtro se está saliendo de la suma del filtro para todas las fechas.

jhollingworth_1-1713805008619.png

Cuando sumo los otros dos elementos, la selección de acumulación M en el total es igual a -1.
¿Cómo puedo ajustar el filtro para que solo se vea la última fecha?

Selección de acumulación M =
FUERON MÁX. = CALCULAR( MÁXIMO ('Acumulaciones'[Fecha]) )
FUERON PREVD = CALCULAR( MÁXIMO('Acumulaciones'[Fecha]), 'Acumulaciones'[Fecha] < MAXD )
FUERON PREVSUM = COMPENSAR( -1, ORDENAR('Acumulaciones'[Fecha]) )
DEVOLUCIÓN
INTERRUPTOR(
VERDADERO(),
SELECTEDVALUE('Medidas de acumulación'[Header#]) = "De negativo a positivo",
SI (
CALCULAR( [SUM Tipo SUM (Acc)], PREVSUM ) >= 0 &&; [Tipo SUM SUM (Acc)] < 0 ,
1, -1),

Helpful resources

Announcements
Sticker Challenge 2026 Carousel

Join our Community Sticker Challenge 2026

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors