Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
tmhalila
Resolver II
Resolver II

Dynamic filter last four quarters regardless the year

Hello everyone,

Please assist. I want to present a chart that will auto-filter the last four quarters regardless of the year e.g., FY21 Q4, FY22 Q1, FY22 Q2, and FY22 Q3. I have attached the sample file below. NOTE: Quarter One starts on October

 

Screenshot 2023-07-07 135658.png

 

Here is the file: Power BI File 

2 ACCEPTED SOLUTIONS
Nithinr
Resolver III
Resolver III

Create a measure that returns quarter difference with your max date in fact table.

use below measure in the visual filters to display number of quarters you want. quarter.png

 

QuartersDiff = var maximum = CALCULATE(MAX(testing[boardapprovaldate]),ALL('testing'))
RETURN
DATEDIFF(MAX(testing[boardapprovaldate]),maximum,QUARTER)

 

View solution in original post

danextian
Super User
Super User

Hi @tmhalila 

 

When you say last four quarters, is that based on the latest quarter in testing table or based on a slicer selection? If it is based on the slicer selection, you must use a disconnected dates table - one which doesn't have relationship to dates or testing table. Otherwise, your visual show just whatever is selected from the slicer.

First, sort your quarters first by ranking

Quarter Sort = 
RANKX (
    VALUES ( 'dim date'[fiscalquarter&year] ),
    'dim date'[fiscalquarter&year],
    ,
    ASC,
    Dense
)

Create a disconnected table (more than one ways to do it but you can reference your dates table)

dim date (disconnected) = 
'dim date'

Create a measure that will show just the last four quarters based on slicer selection

Count new =
VAR currentquartersort =
    SELECTEDVALUE ( 'dim date (disconnected)'[Quarter Sort] )
RETURN
    CALCULATE (
        [No of Project],
        FILTER (
            'dim date',
            'dim date'[Quarter Sort] >= currentquartersort - 3
                && 'dim date'[Quarter Sort] <= currentquartersort
        )
    )

Replace the column used in quarter slicer with the one from the disconnected dates table.

danextian_0-1688738092060.png

 

Please see attached pbix for details.

 










Did I answer your question? Mark my post as a solution!


Proud to be a Super User!









"Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand."
Need Power BI consultation, get in touch with me on LinkedIn or hire me on UpWork.
Learn with me on YouTube @DAXJutsu or follow my page on Facebook @DAXJutsuPBI.

View solution in original post

4 REPLIES 4
danextian
Super User
Super User

Hi @tmhalila 

 

When you say last four quarters, is that based on the latest quarter in testing table or based on a slicer selection? If it is based on the slicer selection, you must use a disconnected dates table - one which doesn't have relationship to dates or testing table. Otherwise, your visual show just whatever is selected from the slicer.

First, sort your quarters first by ranking

Quarter Sort = 
RANKX (
    VALUES ( 'dim date'[fiscalquarter&year] ),
    'dim date'[fiscalquarter&year],
    ,
    ASC,
    Dense
)

Create a disconnected table (more than one ways to do it but you can reference your dates table)

dim date (disconnected) = 
'dim date'

Create a measure that will show just the last four quarters based on slicer selection

Count new =
VAR currentquartersort =
    SELECTEDVALUE ( 'dim date (disconnected)'[Quarter Sort] )
RETURN
    CALCULATE (
        [No of Project],
        FILTER (
            'dim date',
            'dim date'[Quarter Sort] >= currentquartersort - 3
                && 'dim date'[Quarter Sort] <= currentquartersort
        )
    )

Replace the column used in quarter slicer with the one from the disconnected dates table.

danextian_0-1688738092060.png

 

Please see attached pbix for details.

 










Did I answer your question? Mark my post as a solution!


Proud to be a Super User!









"Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand."
Need Power BI consultation, get in touch with me on LinkedIn or hire me on UpWork.
Learn with me on YouTube @DAXJutsu or follow my page on Facebook @DAXJutsuPBI.

This is something incredible, I didn't think of it, but I see this is the best way to handle selection on the slicer. It adds more flexibility with multiple visuals.

Nithinr
Resolver III
Resolver III

Create a measure that returns quarter difference with your max date in fact table.

use below measure in the visual filters to display number of quarters you want. quarter.png

 

QuartersDiff = var maximum = CALCULATE(MAX(testing[boardapprovaldate]),ALL('testing'))
RETURN
DATEDIFF(MAX(testing[boardapprovaldate]),maximum,QUARTER)

 

Thanks for the response! This is short and clear.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.