Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Saludos
Tengo una tabla donde guardo el historial de etapas del proyecto, semanalmente.
FECHA | PROYECTO | ETAPA |
24/08/2021 | P1 | Idea |
24/08/2021 | P2 | Caso de Negocio |
24/08/2021 | P3 | Idea |
30/08/2021 | P1 | Idea |
30/08/2021 | P2 | Caso de Negocio |
30/08/2021 | P3 | Caso de Negocio |
07/09/2021 | P1 | Idea |
07/09/2021 | P2 | Caso de Negocio |
07/09/2021 | P3 | Desarrollo |
16/09/2021 | P1 | Caso de Negocio |
16/09/2021 | P2 | Desarrollo |
16/09/2021 | P3 | Lanzar |
Me gustaría crear una tabla donde resuma la información del proyecto por mes, siempre considerando el último día del mes que está en la tabla:
Proyecto | Mes/Año | Etapa |
P1 | 08/2021 | Idea |
P2 | 08/2021 | Caso de Negocio |
P3 | 08/2021 | Idea |
P1 | 09/2021 | Caso de Negocio |
P2 | 09/2021 | Desarrollo |
P3 | 09/2021 | Lanzar |
¿Alguna idea de cómo podría lograr esto?
Saludos
Solved! Go to Solution.
Pude obtener el resultado que quería, pero no sé si es la mejor manera.
1) En la tabla principal creé una columna LastDate = ENDOFMONTH()
2) Después de eso, se creó otra columna que compara Date y LastDate. Si las fechas son las mismas, entonces "sí".
3) Finalmente, creé una nueva tabla usando CALCULATETABLE() filtrando por "sí".
@dpsilva Esto es definitivamente más fácil con una tabla de fechas
maxDate := CALCULATE(MAX('fact'[Date]))
stageByMaxDatePerProject =
VAR _maxDate = CALCULATE(MAX('fact'[Date]))
VAR _Stage = CALCULATE(MAX('fact'[STAGE]),ALL('fact'[Date]),'fact'[Date]=_maxDate)
RETURN _Stage
Sin embargo, si no está interesado en tener una tabla de fechas, debe crear una columna calaculada como se indica a continuación en la tabla de hechos.
Yr-Mo = COMBINEVALUES("-",YEAR('fact'[Date]),MONTH('fact'[Date]))
y luego puedes crear una medida para darte lo que necesitas
Measure2 =
VAR _maxDate =
CALCULATE (
MAX ( 'fact'[Date] ),
ALLEXCEPT ( 'fact', 'fact'[PROJECT], 'fact'[Yr-Mo] )
)
VAR _Stage =
CALCULATE (
MAX ( 'fact'[STAGE] ),
ALL ( 'fact'[Date] ),
'fact'[Date] = _maxDate
)
RETURN
_Stage
Pude obtener el resultado que quería, pero no sé si es la mejor manera.
1) En la tabla principal creé una columna LastDate = ENDOFMONTH()
2) Después de eso, se creó otra columna que compara Date y LastDate. Si las fechas son las mismas, entonces "sí".
3) Finalmente, creé una nueva tabla usando CALCULATETABLE() filtrando por "sí".
Allí, @dpsilva
Parece que su problema ha sido resuelto.
Si es así, podría aceptar la respuesta útil como solución para cerrar este hilo. Ayudará a otros miembros de la comunidad a encontrar fácilmente la solución cuando reciban el problema similar.
Saludos
Equipo de soporte de la comunidad _ Eason
Hay @Ashish_Mathur,
Estaba pensando en crear una nueva tabla usando resumir, como @ryan_mayu hizo. Pero si dices que hay una manera más fácil de hacer esto a través del Editor de consultas, ¿podrías mostrarme? Sé que hay una función "Agrupar por", pero ¿cómo hacer esto para cada último día del mes que aparece en la tabla?
@ryan_mayu ¿Es posible obtener el mes / año en el formato de fecha?
No dije que hay una manera más fácil. Solo estaba preguntando. Hacerlo en el Editor de consultas no será tan sencillo. Si quieres puedo intentar solucionarlo a través de una medida directamente en el visual.
Hola
¿Desea hacer esto a través de una medida directamente en el visual o en el Editor de consultas?
Puede intentar utilizar DAX para crear una tabla
Table 2 =
VAR tbl=ADDCOLUMNS(SUMMARIZE(ADDCOLUMNS('Table',"month/year",RIGHT("0"&month('Table'[DATE]),2)&year('Table'[DATE])),'Table'[PROJECT],[month/year],"Date",max('Table'[DATE])),"Stage",MAXX(FILTER('Table','Table'[DATE]=EARLIER([Date])&&'Table'[PROJECT]=EARLIER('Table'[PROJECT])),'Table'[STAGE]))
return SELECTCOLUMNS(tbl,"project",'Table'[PROJECT],"month/year",[month/year],"Stage",[Stage])