Power BI Spain Users Group

Expand all | Collapse all

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
    ------------------------------