cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
b_tomp
Helper I
Helper I

Dataverse List Rows "row count" advanced option question

How does it select the records to count when I set a number in row count? For instance, if I set row count = 50, does it take the last 50 records created, or just 50 random records? I am not sure - I assumed it was the last 50 but I am getting some behavior that doesn't match up w/ that so I wanted to double check

1 ACCEPTED SOLUTION

Accepted Solutions
brricard
Microsoft
Microsoft

Hello,

 

Created a simple table with a primary key "Number" and an additional field called "Name".

 

brricard_0-1620386130454.png

 

The result of listing the first 5 records is (checking the JSON output of the "List rows" of dataverse):

brricard_2-1620386689632.png

Basically, seems ordered by PrimaryKey or Date (modified or created); However...

 

If I change the record Number=1 to Number=7 (edit the entry):

brricard_1-1620386580133.png


When I run the flow, I still get the same entries; I can conclude that is not ordered by Primary Key; Also, from other test seems not sorted by Modified Date; 

brricard_3-1620386742020.png

 

It seems ordered by createdOn;

 

brricard_4-1620387106170.png

---

Even for a table with +500 entries created automatically with a flow in seconds, this field seems to be one that sorts the entries for the "row count".
---------------

Nevertheless, my recommendation would be to always use the "Filter rows" or "Sort By" options in the "List Rows" to avoid unexpected outputs.

brricard_5-1620388648007.png



Thank you,

BR

View solution in original post

5 REPLIES 5
brricard
Microsoft
Microsoft

Hello,

 

Created a simple table with a primary key "Number" and an additional field called "Name".

 

brricard_0-1620386130454.png

 

The result of listing the first 5 records is (checking the JSON output of the "List rows" of dataverse):

brricard_2-1620386689632.png

Basically, seems ordered by PrimaryKey or Date (modified or created); However...

 

If I change the record Number=1 to Number=7 (edit the entry):

brricard_1-1620386580133.png


When I run the flow, I still get the same entries; I can conclude that is not ordered by Primary Key; Also, from other test seems not sorted by Modified Date; 

brricard_3-1620386742020.png

 

It seems ordered by createdOn;

 

brricard_4-1620387106170.png

---

Even for a table with +500 entries created automatically with a flow in seconds, this field seems to be one that sorts the entries for the "row count".
---------------

Nevertheless, my recommendation would be to always use the "Filter rows" or "Sort By" options in the "List Rows" to avoid unexpected outputs.

brricard_5-1620388648007.png



Thank you,

BR

View solution in original post

b_tomp
Helper I
Helper I

Thank you, that was very helpful. The issue I'm having is that I am looping through an entire table checking for duplicate records, and I need to loop through the entire table the first time the flow runs. That seems okay, and then after that I need to loop through the table just enough to catch the new duplicates for the day or hour. That's why I was thinking once I run it through the whole table, I can set the row count to 1000 or 2000, just to make sure I got all the recent ones. Looping to the whole table each time it takes forever, so my thought was to speed it up I would set a row count value to get the most recently created records, which it seems like it will do. What do you think? @brricard 

brricard
Microsoft
Microsoft

Hi,

 

To detect duplicates you can set up the duplicate detection job:

https://docs.microsoft.com/en-us/power-platform/admin/run-bulk-system-jobs-detect-duplicate-records

You can select an environment/entity/set the column values you want to compare to check if its a duplicate (by e-mail, user id, name,.. or even all of them. Very useful.

 

I believe the best way to achieve this (if you want to use automate) would be to define an action plan and apply it:

1) Create a flow just to detect all duplicates and apply an action; This flow would run just once.

2) Define what columns would be used to define if an entry is duplicated;

3) Create a new flow that runs when a entry is created or modified and applies some action if it detects a duplicated entry.

 

2) If you define that a duplicate is 2 entries in a table that have the column "Number" and "Name" that are equal then;

 

brricard_0-1620637228114.png

 

 

3) 

brricard_1-1620637252815.png

 

List only Rows where Number and Name = the one that was modified:

crcc0_number eq '@{triggerOutputs()?['body']?['crcc0_number']}' and crcc0_name eq '@{triggerOutputs()?['body']?['crcc0_name']}'

 

brricard_2-1620637361171.png

 

And then you would apply some action to the duplicates.

 

Thank you.

BR

b_tomp
Helper I
Helper I

@brricard thank you that is very helpful. For the initial flow that runs once through the entire table...is there a way to set it to do this. Default is 5000 records. I am not sure how many records are in the table, should I just set the value as a high as the system will accept and hope it gets them all? 

brricard
Microsoft
Microsoft

Hello,

 

That is documented here:

https://docs.microsoft.com/en-us/power-automate/dataverse/list-rows

 

And if you want a full post on how to use the Skip Token with more details you can follow the above link or you can check a full solution in this post:

https://community.dynamics.com/365/b/linn-s-power-platform-notebook/posts/retrieve-more-than-100-000...

 

Note: I have not tested this solution.

 

Thank you,

BR

Helpful resources

Announcements
Process Advisor

Introducing Process Advisor

Check out the new Process Advisor community forum board!

MPA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Users online (15,077)