Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more

Reply
U156531
Post Patron
Post Patron

Trying to create a dynamic row number in a table visual

I need to add a Row number to one of my table visuals. I've created a unique index column in the underlying table. The index can be used to create a row number starting from Row 1. Unfortunately when I filter the table visual on the Year column the Row value no longer starts with row 1. Below is what is coming out in the table visual. Is there a way to define a dynamic row number so it always starts with a row 1 regardless of the filtering on the visual?

U156531_0-1741375014547.png

 

 

1 ACCEPTED SOLUTION
sevenhills
Super User
Super User

Two points if known, can provide accurate syntax.

 

Use case: you are trying to get the row number based on filter selection of each row. 

 

Assuming you have index column to identify unique row, then you can use this.

 

Try this:

Row_Number = 
CALCULATE (
    COUNTROWS('Table');
    FILTER ( ALLSELECTED ('Table'), 'Table'[Index] <= MAX ( 'Table'[Index]) )
)
 

 

Or  If not you can use all the filters that are applied to the table.

 

Row_Number = 
var _v1 = SELECTEDVALUE ( 'Table'[filterColumn1])
var _v2 = SELECTEDVALUE ( 'Table'[filterColumn2])
RETURN CALCULATE ( COUNTROWS('Table');
    FILTER ( ALLSELECTED ('Table'),
           'Table'[filterColumn1] <= _v1 && 'Table'[filterColumn2] = _v2 )
)

 

Hope this helps!

View solution in original post

6 REPLIES 6
sevenhills
Super User
Super User

Two points if known, can provide accurate syntax.

 

Use case: you are trying to get the row number based on filter selection of each row. 

 

Assuming you have index column to identify unique row, then you can use this.

 

Try this:

Row_Number = 
CALCULATE (
    COUNTROWS('Table');
    FILTER ( ALLSELECTED ('Table'), 'Table'[Index] <= MAX ( 'Table'[Index]) )
)
 

 

Or  If not you can use all the filters that are applied to the table.

 

Row_Number = 
var _v1 = SELECTEDVALUE ( 'Table'[filterColumn1])
var _v2 = SELECTEDVALUE ( 'Table'[filterColumn2])
RETURN CALCULATE ( COUNTROWS('Table');
    FILTER ( ALLSELECTED ('Table'),
           'Table'[filterColumn1] <= _v1 && 'Table'[filterColumn2] = _v2 )
)

 

Hope this helps!

Just to add some samples:

Using selected values as guidance:

sevenhills_0-1741634970270.png
Using Index (as guidance):
sevenhills_1-1741635005656.png

Default output:

sevenhills_2-1741635068416.png

Selected filter output:

sevenhills_4-1741635155007.png

 


Is this what you are looking for ? Hope this helps!

Ashish_Mathur
Super User
Super User

Hi,

See if my solution in this file helps.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

I'm getting this error.

S. No. = ROWNUMBER(ALLSELECTED('C-Standard Revisions'),ORDERBY('c-standard Revisions'[BOOK_DATE]))

U156531_0-1741615236211.png

 

Fowmy
Super User
Super User

@U156531 

The ROWNUMBER function in DAX should work for you in this case: ROWNUMBER function (DAX) - DAX | Microsoft Learn

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

I tried 

Row = ROWNUMBER('Table_name')  The Tabe_name is the table behind the visual. Unfortunaely it only returns the value 1 for each row. 

Helpful resources

Announcements
March PBI video - carousel

Power BI Monthly Update - March 2025

Check out the March 2025 Power BI update to learn about new features.

March2025 Carousel

Fabric Community Update - March 2025

Find out what's new and trending in the Fabric community.

"); $(".slidesjs-pagination" ).prependTo(".pagination_sec"); $(".slidesjs-pagination" ).append("
"); $(".slidesjs-play.slidesjs-navigation").appendTo(".playpause_sec"); $(".slidesjs-stop.slidesjs-navigation").appendTo(".playpause_sec"); $(".slidesjs-pagination" ).append(""); $(".slidesjs-pagination" ).append(""); } catch(e){ } /* End: This code is added by iTalent as part of iTrack COMPL-455 */ $(".slidesjs-previous.slidesjs-navigation").attr('tabindex', '0'); $(".slidesjs-next.slidesjs-navigation").attr('tabindex', '0'); /* start: This code is added by iTalent as part of iTrack 1859082 */ $('.slidesjs-play.slidesjs-navigation').attr('id','playtitle'); $('.slidesjs-stop.slidesjs-navigation').attr('id','stoptitle'); $('.slidesjs-play.slidesjs-navigation').attr('role','tab'); $('.slidesjs-stop.slidesjs-navigation').attr('role','tab'); $('.slidesjs-play.slidesjs-navigation').attr('aria-describedby','tip1'); $('.slidesjs-stop.slidesjs-navigation').attr('aria-describedby','tip2'); /* End: This code is added by iTalent as part of iTrack 1859082 */ }); $(document).ready(function() { if($("#slides .item").length < 2 ) { /* Fixing Single Slide click issue (commented following code)*/ // $(".item").css("left","0px"); $(".item.slidesjs-slide").attr('style', 'left:0px !important'); $(".slidesjs-stop.slidesjs-navigation").trigger('click'); $(".slidesjs-previous").css("display", "none"); $(".slidesjs-next").css("display", "none"); } var items_length = $(".item.slidesjs-slide").length; $(".slidesjs-pagination-item > button").attr("aria-setsize",items_length); $(".slidesjs-next, .slidesjs-pagination-item button").attr("tabindex","-1"); $(".slidesjs-pagination-item button").attr("role", "tab"); $(".slidesjs-previous").attr("tabindex","-1"); $(".slidesjs-next").attr("aria-hidden","true"); $(".slidesjs-previous").attr("aria-hidden","true"); $(".slidesjs-next").attr("aria-label","Next"); $(".slidesjs-previous").attr("aria-label","Previous"); //$(".slidesjs-stop.slidesjs-navigation").attr("role","button"); //$(".slidesjs-play.slidesjs-navigation").attr("role","button"); $(".slidesjs-pagination").attr("role","tablist").attr("aria-busy","true"); $("li.slidesjs-pagination-item").attr("role","list"); $(".item.slidesjs-slide").attr("tabindex","-1"); $(".item.slidesjs-slide").attr("aria-label","item"); /*$(".slidesjs-stop.slidesjs-navigation").on('click', function() { var itemNumber = parseInt($('.slidesjs-pagination-item > a.active').attr('data-slidesjs-item')); $($('.item.slidesjs-slide')[itemNumber]).find('.c-call-to-action').attr('tabindex', '0'); });*/ $(".slidesjs-stop.slidesjs-navigation, .slidesjs-pagination-item > button").on('click keydown', function() { $.each($('.item.slidesjs-slide'),function(i,el){ $(el).find('.c-call-to-action').attr('tabindex', '-1'); }); var itemNumber = parseInt($('.slidesjs-pagination-item > button.active').attr('data-slidesjs-item')); $($('.item.slidesjs-slide')[itemNumber]).find('.c-call-to-action').attr('tabindex', '0'); }); $(".slidesjs-play.slidesjs-navigation").on('click', function() { $.each($('.item.slidesjs-slide'),function(i,el){ $(el).find('.c-call-to-action').attr('tabindex', '-1'); }); }); $(".slidesjs-pagination-item button").keyup(function(e){ var keyCode = e.keyCode || e.which; if (keyCode == 9) { e.preventDefault(); $(".slidesjs-stop.slidesjs-navigation").trigger('click').blur(); $("button.active").focus(); } }); $(".slidesjs-play").on("click",function (event) { if (event.handleObj.type === "click") { $(".slidesjs-stop").focus(); } else if(event.handleObj.type === "keydown"){ if (event.which === 13 && $(event.target).hasClass("slidesjs-play")) { $(".slidesjs-stop").focus(); } } }); $(".slidesjs-stop").on("click",function (event) { if (event.handleObj.type === "click") { $(".slidesjs-play").focus(); } else if(event.handleObj.type === "keydown"){ if (event.which === 13 && $(event.target).hasClass("slidesjs-stop")) { $(".slidesjs-play").focus(); } } }); $(".slidesjs-pagination-item").keydown(function(e){ switch (e.which){ case 37: //left arrow key $(".slidesjs-previous.slidesjs-navigation").trigger('click'); e.preventDefault(); break; case 39: //right arrow key $(".slidesjs-next.slidesjs-navigation").trigger('click'); e.preventDefault(); break; default: return; } $(".slidesjs-pagination-item button.active").focus(); }); }); // Start This code is added by iTalent as part of iTrack 1859082 $(document).ready(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); $("#tip2").attr("aria-hidden","true").addClass("hidden"); $(".slidesjs-stop.slidesjs-navigation, .slidesjs-play.slidesjs-navigation").attr('title', ''); $("a#playtitle").focus(function(){ $("#tip1").attr("aria-hidden","false").removeClass("hidden"); }); $("a#playtitle").mouseover(function(){ $("#tip1").attr("aria-hidden","false").removeClass("hidden"); }); $("a#playtitle").blur(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); }); $("a#playtitle").mouseleave(function(){ $("#tip1").attr("aria-hidden","true").addClass("hidden"); }); $("a#play").keydown(function(ev){ if (ev.which ==27) { $("#tip1").attr("aria-hidden","true").addClass("hidden"); ev.preventDefault(); return false; } }); $("a#stoptitle").focus(function(){ $("#tip2").attr("aria-hidden","false").removeClass("hidden"); }); $("a#stoptitle").mouseover(function(){ $("#tip2").attr("aria-hidden","false").removeClass("hidden"); }); $("a#stoptitle").blur(function(){ $("#tip2").attr("aria-hidden","true").addClass("hidden"); }); $("a#stoptitle").mouseleave(function(){ $("#tip2").attr("aria-hidden","true").addClass("hidden"); }); $("a#stoptitle").keydown(function(ev){ if (ev.which ==27) { $("#tip2").attr("aria-hidden","true").addClass("hidden"); ev.preventDefault(); return false; } }); }); // End This code is added by iTalent as part of iTrack 1859082
Top Solution Authors