Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
I have a wide table with 1M+ rows. The end user wants to display as many rows as possible in a simple table visual. I want to display the first 25,000 rows. If the number of rows returned is more than 25k, I only want to see the first 25k. It is is less than 25k, then just display the rows.
My table name name coupon_details and there is an [ID] column. I also have one other filter on the table for [InRange] =1
My problem is that when I apply a TopN filter based on the ID column, Top N is being applied to the table first. So, the [InRange] filter is applied on only the first 25k records. I need the order of this filtering swapped so [InRange] is applied first, then Top.
I have tried using a calculated column with rank and apply that to the Top filter, but it still did the same order of filtering. Any help is appreciated.
Solved! Go to Solution.
Hi @_power_bi - Create a DAX measure that calculates the row number for each row by using below measure:
RowNumberInRange =
CALCULATE(
COUNTROWS(FILTER(coupon_details, coupon_details[InRange] = 1)),
FILTER(
ALLSELECTED(coupon_details),
coupon_details[ID] <= MAX(coupon_details[ID])
)
)
This above measure calculates the row number for each row where [InRange] = 1, while preserving the filter context for other columns.
Create another measure to checks if the row number is less than or equal to 25,000 to returns 1 otherwise 0
FilteredRows =
IF([RowNumberInRange] <= 25000, 1, 0)
apply the filtered rows on the visual level filter in your table chart and set it 1. It works . please check with your conditions
Did I answer your question? Mark my post as a solution! This will help others on the forum!
Appreciate your Kudos!!
Proud to be a Super User! | |
Hi @_power_bi - Create a DAX measure that calculates the row number for each row by using below measure:
RowNumberInRange =
CALCULATE(
COUNTROWS(FILTER(coupon_details, coupon_details[InRange] = 1)),
FILTER(
ALLSELECTED(coupon_details),
coupon_details[ID] <= MAX(coupon_details[ID])
)
)
This above measure calculates the row number for each row where [InRange] = 1, while preserving the filter context for other columns.
Create another measure to checks if the row number is less than or equal to 25,000 to returns 1 otherwise 0
FilteredRows =
IF([RowNumberInRange] <= 25000, 1, 0)
apply the filtered rows on the visual level filter in your table chart and set it 1. It works . please check with your conditions
Did I answer your question? Mark my post as a solution! This will help others on the forum!
Appreciate your Kudos!!
Proud to be a Super User! | |
User | Count |
---|---|
84 | |
76 | |
75 | |
43 | |
36 |
User | Count |
---|---|
109 | |
56 | |
52 | |
48 | |
43 |