Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Sign up nowGet Fabric certified for FREE! Don't miss your chance! Learn more
Hello,
I need to filter some data with a refence date (which is entered by the user) using 2 dates (start date & end date) that define a validity period.
My table contains :
I want to select a date (idealy by pick in a calendar object) and filter the line where :
[Start Date] < "Selected Date" < [End Date]
for example :
if i pick 20/12/2022, i will filter this line
Also, i have others tables where i want to reproduce this feature, so i would like to use only one date (from my calendar table ?) to drive all the filters on validity periods.
Can someone please help me ?
Thanks.
Nicolas
Solved! Go to Solution.
You could use SWITCH to determine which table is applicable:
Visual Filter =
VAR vSelectedDate =
SELECTEDVALUE ( 'Calendar'[Date] )
VAR vResult =
SWITCH (
TRUE,
ISINSCOPE ( FactTable[Start Date] ),
SUMX (
FactTable,
IF (
vSelectedDate > FactTable[Start Date]
&& vSelectedDate < FactTable[End Date],
1
)
),
ISINSCOPE ( FactTable2[Start Date] ),
SUMX (
FactTable2,
IF (
vSelectedDate > FactTable2[Start Date]
&& vSelectedDate < FactTable2[End Date],
1
)
)
)
RETURN
vResult
Proud to be a Super User!
Create the measure below and use it as a visual filter ("is greater than 0"). The Calendar table does not have a relationship with the fact table. The date slicer uses the Calendar table.
Visual Filter =
VAR vSelectedDate =
SELECTEDVALUE ( 'Calendar'[Date] )
VAR vResult =
SUMX (
FactTable,
IF ( vSelectedDate > FactTable[Start Date] && vSelectedDate < FactTable[End Date], 1 )
)
RETURN
vResult
Proud to be a Super User!
Thanks for your answer, it's a great step for me 🙂
So if i understant well, i have to create a measure to filter each table with validity periods ?
And is there a mean to drive all these filters with only one "general filter" ?
Because if i've got 20 tables with validity periods, when i want to cross all the data in one report table, i 'd prefer use 1 filter rather than 20...
Thanks
Nicolas
You could use SWITCH to determine which table is applicable:
Visual Filter =
VAR vSelectedDate =
SELECTEDVALUE ( 'Calendar'[Date] )
VAR vResult =
SWITCH (
TRUE,
ISINSCOPE ( FactTable[Start Date] ),
SUMX (
FactTable,
IF (
vSelectedDate > FactTable[Start Date]
&& vSelectedDate < FactTable[End Date],
1
)
),
ISINSCOPE ( FactTable2[Start Date] ),
SUMX (
FactTable2,
IF (
vSelectedDate > FactTable2[Start Date]
&& vSelectedDate < FactTable2[End Date],
1
)
)
)
RETURN
vResult
Proud to be a Super User!
I think i can do with that
Thanks for the help
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 64 | |
| 63 | |
| 49 | |
| 21 | |
| 18 |
| User | Count |
|---|---|
| 121 | |
| 118 | |
| 38 | |
| 36 | |
| 29 |