Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Mobile or dynamic quarters

HI,

I need to create a quarter column that changes over month. It needs to group the months by three as mobile quarters. When a new month appears in the data, this one will be the last month of the last quarter. Here are some examples:

 

In the above image, the last month is January 2021, so the quarter its named the same and groups the last three months of the data. What happens when february comes to the data model?: 

 
 

 

How can I create a calculated column to achieve this?

Thanks!

 
 
 
  • Anonymous's avatar
    Anonymous
    5 years ago

    Hi  Anonymous  ,

    Here are the steps you can follow:

    1. Enter power query through transform data and select add column --- index column --- from 1 to generate the index

    2. Create calculated column.

    Quarter =
    var _mod=MOD([Index],3)
    return
    SWITCH(
        TRUE(),
        _mod=1,CALCULATE(MAX([Month]),FILTER('Table',[Index]=EARLIER([Index])+2)),
        _mod=2,CALCULATE(MAX([Month]),FILTER('Table',[Index]=EARLIER([Index])+1)),
        _mod=0,[Month])

    2. Result.

     

    You can downloaded PBIX file from here.

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  Anonymous  ,

    Here are the steps you can follow:

    1. Enter power query through transform data and select add column --- index column --- from 1 to generate the index

    2. Create calculated column.

    Quarter =
    var _mod=MOD([Index],3)
    return
    SWITCH(
        TRUE(),
        _mod=1,CALCULATE(MAX([Month]),FILTER('Table',[Index]=EARLIER([Index])+2)),
        _mod=2,CALCULATE(MAX([Month]),FILTER('Table',[Index]=EARLIER([Index])+1)),
        _mod=0,[Month])

    2. Result.

     

    You can downloaded PBIX file from here.

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.