Forum Discussion

davaru's avatar
davaru
Frequent Visitor
9 years ago
Solved

YTD example

Hi everibody.

I have the following measure

YTD Capacity Hours = CALCULATE( TOTALYTD( SUM(Capacity[capacity]) , Dates[Date] ) ,  
                                ALL(Dates) ,
                                FILTER( Capacity, Capacity[idemployee] < "30000"  && Capacity[functional_type] = "Consulting"    )
                                )

table Capacity (date, capacity, idemployee, functiona_type,......)

I hope to receive the sum of capacity for the last year load into the table (exmpl loaded up to 31-03-2017)

 

I have defined a time slicer on Dates (i can select differents months between jan 2016 and march 2017)  the results vary on selection.

 

How can help me

thnks in advance

david

  • Hi davaru,

     

    If the date slicer is set to "Between", and the date column is dragged from calendar table, you can refer to below formulas.

    Dates =
    CALENDAR ( MIN ( Capacity[date] ), MAX ( Capacity[date] ) )
    
    YTD Capacity =
    CALCULATE (
        TOTALYTD ( SUM ( 'Capacity'[capacity] ), 'Dates'[Date] ),
        ALL ( 'Dates' ),
        FILTER (
            'Capacity',
            'Capacity'[idemployee] < 30000
                && 'Capacity'[functional_type] = "Consulting"
        )
    )
    
    LY YTD Capacity =
    CALCULATE ( [YTD Capacity Hours], SAMEPERIODLASTYEAR ( Dates[Date] ) )

     

    However, if the date slicer is set to "List", you need an extra calendar table. You should drag date column from 'Dates2'.

    YTD =
    CALCULATE (
        SUM ( Capacity[capacity] ),
        DATESYTD ( Dates[Date] ),
        FILTER (
            Capacity,
            Capacity[idemployee] < 30000
                && Capacity[functional_type] = "Consulting"
                && Capacity[date] <= MAX ( Dates2[Date] )
        )
    )
    
    YTD LY =
    CALCULATE (
        [YTD],
        SAMEPERIODLASTYEAR (
            INTERSECT (
                VALUES ( Dates[Date] ),
                DATESBETWEEN ( Dates[Date], BLANK (), MAX ( Dates2[Date] ) )
            )
        )
    )

    Best regards,
    Yuliana Gu

2 Replies

  • v-yulgu-msft's avatar
    v-yulgu-msft
    Icon for Microsoft Employee rankMicrosoft Employee

    Hi davaru,

     

    If the date slicer is set to "Between", and the date column is dragged from calendar table, you can refer to below formulas.

    Dates =
    CALENDAR ( MIN ( Capacity[date] ), MAX ( Capacity[date] ) )
    
    YTD Capacity =
    CALCULATE (
        TOTALYTD ( SUM ( 'Capacity'[capacity] ), 'Dates'[Date] ),
        ALL ( 'Dates' ),
        FILTER (
            'Capacity',
            'Capacity'[idemployee] < 30000
                && 'Capacity'[functional_type] = "Consulting"
        )
    )
    
    LY YTD Capacity =
    CALCULATE ( [YTD Capacity Hours], SAMEPERIODLASTYEAR ( Dates[Date] ) )

     

    However, if the date slicer is set to "List", you need an extra calendar table. You should drag date column from 'Dates2'.

    YTD =
    CALCULATE (
        SUM ( Capacity[capacity] ),
        DATESYTD ( Dates[Date] ),
        FILTER (
            Capacity,
            Capacity[idemployee] < 30000
                && Capacity[functional_type] = "Consulting"
                && Capacity[date] <= MAX ( Dates2[Date] )
        )
    )
    
    YTD LY =
    CALCULATE (
        [YTD],
        SAMEPERIODLASTYEAR (
            INTERSECT (
                VALUES ( Dates[Date] ),
                DATESBETWEEN ( Dates[Date], BLANK (), MAX ( Dates2[Date] ) )
            )
        )
    )

    Best regards,
    Yuliana Gu

    • davaru's avatar
      davaru
      Frequent Visitor

      Thnks.

      Good solutions It works

      Tnks again