Forum Discussion

anil's avatar
anil
Helper III
8 years ago
Solved

Last 3 days average values per ID using date

Hi all,           I am trying to calculate last 3 days average values per ID. Below is sample data set:   modelcode ordernumber Date DISCOUNTPERCENT TMAX E120XN 12462 21-03-13 100 40...
  • Greg_Deckler's avatar
    Greg_Deckler
    8 years ago

    OK, first, you need to clean up your PBIX, you have some columns causing circular dependencies, like "If test". Get rid of that column. Also, for some odd reason it wasn't getting the correct modelcode at the beginning so I fixed that and cleaned up some code.

     

    Last 3TEst = 
    VAR __modelcode = MAXX(CALCULATETABLE('Hyster'),'Hyster'[modelcode])
    VAR __tmpTable = SUMMARIZE(FILTER(ALL('Hyster'),Hyster[modelcode]=__modelcode),[Order Date],[Bucket])
    VAR __maxDate = MAXX(__tmpTable,[Order Date])
    VAR __tmpTable2 = TOPN(3,__tmpTable,[Order Date],DESC)
    VAR __tmpTable3 = SELECTCOLUMNS(__tmpTable2,"__Bucket",[Bucket])
    RETURN
    IF(
        CONTAINS(__tmpTable3,[__Bucket],"Green"), "Green", 
        IF(
            CONTAINS(__tmpTable3,[__Bucket],"Yellow"), 
            "Yellow", 
            "Red"
        )
    )