Forum Discussion

Jan_Trummel's avatar
Jan_Trummel
Helper IV
3 years ago
Solved

Dynamic filter by slicer

Hello to the forum,

 

I have a question.

 

1) My data


I have the Orders and Calendar tables in Power BI Desktop. Both are linked by a 1-n relationship:

My data model

In the Orders table I have the following data:

Table "Orders"

 

2) My report (how it should be)

 

I want to generate the following report:


In a slicer, the user selects a specific date. In a further slicer, he can then set how many days he would like to look into the past, starting from the selected date. (Here I use a numeric parameter.)


Here is an example:

If the user selects 04/10/2023 and wants to look 7 days into the past, then the line chart should show:

An example report

In the line chart, the days 03.04. – 04/10/2023 are displayed.
(In the example, I filtered the diagram by hand.)

 

Does anyone have an idea how I can implement this?

 

Greetings

  • Jan_Trummel Try something below. Note, assumes disconnected tables for slicers. PBIX is attached below signature.

    Measure = 
        VAR __Date = MAX('Dates'[Date])
        VAR __DaysBack = [Parameter Value]
        VAR __OrderDate = MAX('Orders'[Order date])
        VAR __Result = IF(__OrderDate <= __Date && __OrderDate >= __Date - __DaysBack, SUM('Orders'[Sales]), BLANK())
    RETURN
        __Result

     

3 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    Jan_Trummel Try something below. Note, assumes disconnected tables for slicers. PBIX is attached below signature.

    Measure = 
        VAR __Date = MAX('Dates'[Date])
        VAR __DaysBack = [Parameter Value]
        VAR __OrderDate = MAX('Orders'[Order date])
        VAR __Result = IF(__OrderDate <= __Date && __OrderDate >= __Date - __DaysBack, SUM('Orders'[Sales]), BLANK())
    RETURN
        __Result

     

    • Jan_Trummel's avatar
      Jan_Trummel
      Helper IV

      Hi, Greg_Deckler do you think there is a solution where the Calendar table can stay connected to the Orders table?

       

      This would be exactley what I need.