Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin 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.
I have 2 columns from two different tables as below:
Table1:
| size |
| 1 |
| 2 |
| 3 |
| 4 |
Table2:
| unit |
| 50 |
| 49 |
| 48 |
| 47 |
Desired Output:(New Calculated Table)
| size | unit |
| 1 | 50 |
| 2 | 50 |
| 2 | 49 |
| 3 | 50 |
| 3 | 49 |
| 3 | 48 |
| 4 | 50 |
| 4 | 49 |
| 4 | 48 |
| 4 | 47 |
So based on size value(number) from the Table1, the top values should return in new rows for example: if size value is 3 then top 3 values, if it is 4 then top 4 values and so on..
Can somebody please help on how can i achieve this in DAX?
Solved! Go to Solution.
Here's my attempt:
New Table =
var crossjoined = CROSSJOIN(unit, size)
var toReturn = FILTER(crossjoined, [size] >= RANK(unit, ORDERBY([unit], DESC)))
return toReturn
Here's my attempt:
New Table =
var crossjoined = CROSSJOIN(unit, size)
var toReturn = FILTER(crossjoined, [size] >= RANK(unit, ORDERBY([unit], DESC)))
return toReturn
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 9 | |
| 4 | |
| 4 | |
| 3 | |
| 3 |
| User | Count |
|---|---|
| 13 | |
| 9 | |
| 8 | |
| 8 | |
| 7 |