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.
Hola
Tengo una columna de fechas y una columna de eventos. Estoy buscando una manera de contar el número de eventos e informar de la primera fecha para el último 5, 10, 15 evento, etc. Por ejemplo, en la tabla siguiente, contar para los últimos 10 eventos el 12/7/2020 devolvería la fecha de 12/4/2020. Contar para los últimos 15 eventos sería 12/3/2020.
Esto parece simple, pero me está costando encontrar la función correcta. ¡Gracias por la ayuda!
Fecha | Eventos |
12/1/2020 | 4 |
12/2/2020 | 2 |
12/3/2020 | 2 |
12/4/2020 | 8 |
12/5/2020 | 0 |
12/6/2020 | 1 |
12/7/2020 | 3 |
Hola, @stalerik , es posible que desee probar si esta alternativa se ajusta a su escenario. (archivo pbix adjunto)
Back Date =
VAR __c = [Count back]
VAR __d = [Base Date]
VAR __period =
FILTER (
DISTINCT ( Table1[DATE] ),
CALCULATE (
SUM ( Table1[EVENTS] ),
DATESBETWEEN ( Table1[DATE], Table1[DATE], __d )
) <= __c
)
RETURN
MINX ( __period, Table1[DATE] )
Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension! |
DAX is simple, but NOT EASY! |
@AlB y @CNENFRNL Muchas gracias por su rápida ayuda. Ambas respuestas anteriores produjeron la misma "fecha de atrás", pero todavía tenía problemas para integrarlo en mi proyecto. Estaba definiendo una medida para la fecha de atrás y, a continuación, intentaba usar esa medida como una variable en mi columna calculada con Consulta directa. Eso no funcionó. En lugar de usar la medida como la variable, pongo todo el método para calcular la fecha de retroceso en la columna calculada y ahora parece estar funcionando correctamente. Gracias a ambos por su ayuda!
Ver todo en el trabajo en el archivo adjunto.
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
@AlB Gracias por la respuesta. Estaba probando esto sin una segmentación de datos estableciendo un número de slicerVal_ fijo, pero desafortunadamente esto es parte de un modelo de DirectQuery y se está quedando atascado en la función MAXX. Estoy buscando alternativas, pero le agradecería que tenga alguna idea rápida.
No @stalerik
1. Cree una tabla de una columna que se utilizará como segmentación de datos para seleccionar el número de eventos:
SlicerT =
SELECTCOLUMNS ( GENERATESERIES ( 5, 20, 5 ), "Num Events", [Value] )
2. Coloque Table1[DATE] en una tabla visual
3. Cree esta medida y colóquela en el objeto visual de la tabla:
Measure =
VAR baseDate_ =
SELECTEDVALUE ( Table1[DATE] )
VAR slicerVal_ =
SELECTEDVALUE ( SlicerT[Num Events] )
VAR auxT =
ADDCOLUMNS (
FILTER ( ALL ( Table1 ), Table1[DATE] <= baseDate_ ),
"@Cumul",
VAR currentDate_ = [DATE]
RETURN
CALCULATE (
SUM ( Table1[EVENTS] ),
Table1[DATE] >= currentDate_,
Table1[DATE] <= baseDate_,
ALL ( Table1 )
)
)
RETURN
MAXX ( FILTER ( auxT, [@Cumul] >= slicerVal_ ), [DATE] )
Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.
Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |