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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

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
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

Check out the June 2024 Power BI update to learn about new features.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

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

Top Solution Authors