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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

DAX: instrucción If que utiliza medidas que devuelven demasiadas filas

Hola

Estoy un poco oxidado en DAX y espero que alguien pueda ayudar.

Tengo una tabla de resultados de clientes que contiene ID de resultado, Fecha de resultado, ID de cliente


La tabla enlaza con DateCalendar y Customer Table.


Utilizo una segmentación de datos para filtrar los resultados por fecha y mostrarlos en una tabla junto con la fecha del resultado y el ID de cliente.

Luego he creado una medida para calcular la fecha de resultado más temprana para cada cliente para todos sus resultados y otra medida para mostrar la fecha de resultado (solo para fines de cálculo).

Fecha de resultado más temprana = CALCULAR(
Min(RESULTADOS[Date_Outcome]),
TODOS (RESULTADOS),
VALORES(RESULTADOS[Customer_ID])
)

Date_outcome = CALCULAR(
min(RESULTADOS[Date_Outcome]),
TODOSSELECCIONADOS(RESULTADOS[Customer_ID])
)

Ambas medidas se calculan correctamente cuando las coloco en la tabla.

Finalmente, creé una medida para mostrar si la fecha de resultado más temprana es anterior a la fecha de resultado, es decir, el cliente tiene resultados anteriores. He utilizado las primeras 2 medidas y la declaración if para hacer esto.

Fecha de resultado anterior = SI([Fecha de resultado más temprana]<[Date_outcome],1,0)

Cuando dejo esto en la tabla, obtengo una gran cantidad de filas, incluidos los clientes que no tienen resultados. Las filas son correctas para los valores que necesito seleccionar, pero no puedo entender por qué las otras están allí. Si hago un simple datediff en su lugar, esto parece funcionar, pero no es lo que estoy tratando de lograr.

¿Alguien puede ayudarme a entender por qué está sucediendo esto y, con suerte, resolverlo?

¡Gracias!

9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

Hi Grant

Lo siento, no muy bien redactado!

Algunos de los clientes tienen más de un resultado en un período.

Estoy tratando de crear una tabla que muestre a los clientes un resultado en el período. Luego quiero mostrar si tienen resultados previos. En lugar de sumar los resultados, sería un simple 1 para sí tuvieron un resultado anterior o 0 si no.

He puesto un control deslizante en su archivo pbi para reducir los resultados para tratar de demostrar. Cust C tiene un 2 para zmeasure, pero necesito que sea un 1 para poder contar el número de clientes en el período que tuvo un resultado anterior.

¡Espero que tenga más sentido! Graciashttps://westberksgovuk-my.sharepoint.com/:u:/r/personal/jessica_clark_westberks_gov_uk/Documents/Cus...

@WBscooby

El enlace al final de su publicación me pide una contraseña.

Lo siento, creo que es la seguridad de mi organización. ¡Probando desde otra ubicación!

CustomerOutcomesV2.pbix

@WBscooby

¿Qué tal esto?

zMeasure 2 = 
SUMX(
    ADDCOLUMNS(
        SUMMARIZECOLUMNS(
            'Customer'[Customer],
            'Date'[MMM-YY]
        ),
    "@Value",
        IF( [Earliest Outcome Date] < [Date_outcome], 1, 0)
    ),
    [@Value]
)

En realidad, cuando me meto con las columnas que caigo, ¡está funcionando! ¡Muchas gracias por su ayuda!

Gracias por mirar - lo he intentado pero todavía no funciona para mí

Syndicate_Admin
Administrator
Administrator

@WBscooby

En lugar de su [Fecha de salida anterior], intente esto:

zMeasure = 
SUMX(
    'Outcomes',
    IF( [Earliest Outcome Date] < [Date_outcome], 1, 0 )
)

Brillante, esto funciona, ¡gracias! Solo una pregunta más si no te importa. Algunos clientes tienen más de un resultado, por lo que tienen un resultado de 2. ¿Se puede ajustar esto para mostrar solo 1 por el cliente, es decir, más como el resultado anterior: Sí / No?

@WBscooby

No estoy seguro de entender.

¿Desea 1 línea por cliente con un recuento de resultados entre [Fecha de resultado más temprana] y [Date_outcome]?

Puede ser útil intentar reformular su solicitud. Hágamelo saber.

Subvención

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.