Power BI Spain Users Group

Topic: Obtener valor para el último día del mes en tabla en la que sólo aparecen datos de lunes a viernes 

1.  Obtener valor para el último día del mes en tabla en la que sólo aparecen datos de lunes a viernes

Posted 10-17-2017 07:09 AM
Hola
Tengo que construir una gráfica en la que aparezcan los valores diarios de una serie pero en la que las etiquetas se correspondan al valor del último día del mes. El problema es que la serie sólo refleja los datos de lunes a viernes por lo que si el último día del mes cae en sábado o domingo, la fórmula PriceEndOfMonth = CALCULATE(SUM(PR_CU[Price]);ENDOFMONTH(PR_CU[Date])) no me refleja el valor.

Como solución, generé una nueva tabla en la que añadía el calendario completo y a la que añadía la columna de precio
La idea es añadir una nueva columna Custom en la que los huecos en blanco se rellenen con el valor del último día para el que exista ese precio. Par eso, he utilizado la siguiente fórmula:
Custom = LASTNONBLANK('Calendar'[Price];if('Calendar'[Price]=BLANK();BLANK();'Calendar'[Price]))

Pero no he conseguido solucionarlo, tampoco utilizando Custom = EARLIER(Calendar[Price];1)

La tabla esta creada en Power BI por lo que no puedo editar la query y utilizare fill para rellenar los huecos vacíos
¿Alguna idea?

------------------------------
David López Víllora
Consultant
David Lopez Villora
661004890
------------------------------


2.  RE: Obtener valor para el último día del mes en tabla en la que sólo aparecen datos de lunes a viernes

Posted 10-17-2017 07:43 AM
Me autocontesto, la solución es sucia pero funciona.

Al final lo he conseguido creando dos columnas:

Custom = IF('Calendar'[Price]=BLANK();LOOKUPVALUE('Calendar'[Price];'Calendar'[Date];PREVIOUSDAY('Calendar'[Date].[Date]));'Calendar'[Price])
y
Custom2 = IF('Calendar'[Custom]=BLANK();LOOKUPVALUE('Calendar'[Custom];'Calendar'[Date];PREVIOUSDAY('Calendar'[Date].[Date]));'Calendar'[Custom])

La tabla queda como sigue:
Solución

------------------------------
David López Víllora
Consultant
David Lopez Villora
661004890
------------------------------