Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
8 years ago
Solved

Calculate count for next year based on this year

Okay. I think this should be fairly easy to do, but I'm coming up blank. I have a column of IDs and a column for the Fiscal Year for a transaction that occurred. 

 

I want to be able to count the number of IDs for this year (works fine), but I want to create a measure that counts the number of IDs for the next year (but to show that next year number on the current year). 

 

So the table should look like:

 

YearThis yearNextYear
201015891647
201116471981
201219811967
201319672085
20142085 

 

With the idea that I can do further analysis once I have the "Next Year" measure working properly. 


I've tried: 

 

NextYear_count = CALCULATE(DISTINCTCOUNT(Transaction[ID]),FILTER(Transaction,Transaction[FiscalYear]= Transaction[FiscalYear]+1))

 

I realize that in the row context, "year" will never equal "year + 1" (which is why I've come up blank), but I do not quite understand how to ignore the "year" row context without ignoring it all together since I need it for the calculation as a whole. 

 

Any advice would be appreciated. 

Thanks!

Jonathan

  • Hi Anonymous

     

    Try this one

     

    NextYear_count =
    CALCULATE (
        DISTINCTCOUNT ( Transaction[ID] ),
        FILTER (
            ALLSELECTED ( Transaction ),
            Transaction[FiscalYear]
                = SELECTEDVALUE ( Transaction[FiscalYear] ) + 1
        )
    )

3 Replies

  • Zubair_Muhammad's avatar
    Zubair_Muhammad
    Icon for Community Champion rankCommunity Champion

    Hi Anonymous

     

    Try this one

     

    NextYear_count =
    CALCULATE (
        DISTINCTCOUNT ( Transaction[ID] ),
        FILTER (
            ALLSELECTED ( Transaction ),
            Transaction[FiscalYear]
                = SELECTEDVALUE ( Transaction[FiscalYear] ) + 1
        )
    )
  • Try this, also shared in my blog post on the subject:
    https://sharepointlibrarian.com/2018/03/05/power-bi-calculate-next-years-amount-in-previous-years-row/

     

    NextYearCount =
    var next= CALCULATE(
    FIRSTNONBLANK('Transaction'[This year],""),
    FILTER('Transaction','Transaction'[Year]>EARLIER('Transaction'[Year]) && 'Transaction'[Year]=EARLIER('Transaction'[NextYear])))
    return
    IF(ISBLANK(next),BLANK(), next)


    You'll just need to be sure you have a "NextYear" column which is calculated as [Year]+1 and that your [Year] column is in number format.