Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
I have a filter that retrieves the correct set of rows for the most recent date in a table:
Solved! Go to Solution.
Hi @FarmerKenny
Try this:
Occupation Summary =
VAR _A =
FILTER( 'SitStat', 'SitStat'[MetricName] = "Occupation Summary" )
VAR _1D =
CALCULATE(
MAX( 'SitStat'[create_dt] ),
FILTER( 'SitStat', 'SitStat'[MetricName] = "Occupation Summary" )
)
VAR _2D =
CALCULATE(
MAX( 'SitStat'[create_dt] ),
FILTER(
ALL( 'SitStat' ),
'SitStat'[MetricName] = "Occupation Summary"
&& 'SitStat'[create_dt] < _1D
)
)
RETURN
FILTER( _A, 'SitStat'[create_dt] = _1D || 'SitStat'[create_dt] = _2D )
If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
LinkedIn: www.linkedin.com/in/vahid-dm/
I worked on this over the weekend, and since DAX is new to me, I wrote it in T-SQL. (Perhaps MS should support a SQL to DAX conversion utility...)
Actual Solution
Hi @FarmerKenny
Try this:
Occupation Summary =
VAR _A =
FILTER( 'SitStat', 'SitStat'[MetricName] = "Occupation Summary" )
VAR _1D =
CALCULATE(
MAX( 'SitStat'[create_dt] ),
FILTER( 'SitStat', 'SitStat'[MetricName] = "Occupation Summary" )
)
VAR _2D =
CALCULATE(
MAX( 'SitStat'[create_dt] ),
FILTER(
ALL( 'SitStat' ),
'SitStat'[MetricName] = "Occupation Summary"
&& 'SitStat'[create_dt] < _1D
)
)
RETURN
FILTER( _A, 'SitStat'[create_dt] = _1D || 'SitStat'[create_dt] = _2D )
If this post helps, please consider accepting it as the solution to help the other members find it more quickly.
Appreciate your Kudos!!
LinkedIn: www.linkedin.com/in/vahid-dm/
@VahidDM , that was the closest to the actual solution. I appreciate your work here, unfortunately the the rows are all for the same day, just duplicated. I solved this probem over the weekend, but I had to do it in SQL, which I will post below.
Sorry, I should have used a variable so I didn't forget about that filter in the RETURN part. (It's hard to write DAX blind...)
This is what I meant to write:
Occupation Summary =
VAR FilterMetric = FILTER ( 'SitStat', 'SitStat'[MetricName] = "Occupation Summary" )
VAR Top2Dates =
TOPN (
2,
SUMMARIZE ( FilterMetric, 'SitStat'[create_dt] ),
'SitStat'[create_dt]
)
RETURN
FILTER ( FilterMetric, 'SitStat'[create_dt] IN Top2Dates )
Sorry, that did not add the previous days rows to the return set. Thank you for your prompt response, though.
The TOPN function returns the top N rows of a table, so if there are multiple rows with the same maximal date, you'll have to adjust what you're taking TOPN over.
So something a bit more complicated like this:
Occupation Summary =
VAR Top2Dates =
TOPN (
2,
SUMMARIZE (
FILTER ( 'SitStat', 'SitStat'[MetricName] = "Occupation Summary" ),
'SitStat'[create_dt]
),
'SitStat'[create_dt]
)
RETURN
FILTER ( 'SitStat', 'SitStat'[create_dt] IN Top2Dates )
Alexis, that is getting closer, but it doubled up on the rows for the filter, but the dates are not the highest or second highest.
Sorry, I don't think I can do much better coding blind.
The TOPN function might work for you.
Try this:
Occupation Summary =
TOPN (
2,
FILTER ( 'SitStat', 'SitStat'[MetricName] = "Occupation Summary" ),
'SitStat'[create_dt]
)
Thanks, I know that coding with out a database to access is tough. I appreciate your attempts, and I will post the successful code here when I get this to work.
I worked on this over the weekend, and since DAX is new to me, I wrote it in T-SQL. (Perhaps MS should support a SQL to DAX conversion utility...)
Actual Solution
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
14 | |
11 | |
10 | |
10 | |
10 |
User | Count |
---|---|
18 | |
13 | |
12 | |
11 | |
8 |