Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
How to convert this sql query to DAX in a measure
Select value from KPI A
where period in (
select B.period from
Time B join period C
on B.period=c.Period
where b.quater >= c.quater-1 and b.quater <= c.quater-5
DAX measure:
Selected Value =
VAR CurrentQuarter = MAX('Period'[Quarter])
VAR FilteredPeriods =
FILTER(
ALL('Time'),
'Time'[Quarter] >= CurrentQuarter - 5 &&
'Time'[Quarter] <= CurrentQuarter - 1
)
RETURN
CALCULATE(
MAX('KPI A'[Value]),
'KPI A'[Period] IN DISTINCT(SELECTCOLUMNS(FilteredPeriods, "Period", 'Time'[Period]))
)
💌 If this helped, a Kudos 👍 or Solution mark ✅ would be great! 🎉
Cheers,
Kedar
Connect on LinkedIn
Hi, @pavithrarajan
May I ask if your problem is solved? If not resolved, can you provide sample data and your expected output? This will better describe your problem. How to provide sample data in the Power BI Forum - Microsoft Fabric Community
Best Regards,
Community Support Team _Charlotte
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Try this -
Measure =
CALCULATE(
SUM('KPI A'[value]),
FILTER(
'KPI A',
'KPI A'[period] IN
SELECTCOLUMNS(
FILTER(
CROSSJOIN('Time', 'period'),
'Time'[period] = 'period'[Period] &&
'Time'[quarter] >= 'period'[quarter] - 1 &&
'Time'[quarter] <= 'period'[quarter] - 5
),
"period", 'Time'[period]
)
)
)
Proud to be a Super User! | |
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 66 | |
| 46 | |
| 42 | |
| 26 | |
| 19 |
| User | Count |
|---|---|
| 196 | |
| 127 | |
| 102 | |
| 67 | |
| 49 |