Im doing some progress but i need assistance with the dispatcher. Im providing screenshot of the Original Report and the Current State of where i am.
I need the report to do the same as it its, but only per user. As you can see, the Current State report is doing it, but aggregating all users in the same line. This is incorrect, it must be one line per user that way it’s one transaction per user.
The format is correct sample: NPI written multiple times separated by a comma, that’s correct and it goes for all columns, but it has to be done per user.
Im providing a copy of the xaml, original report and the current state report.
CURRENT STATE REPORT.xlsx (11.6 KB)
Report.xaml (20.5 KB)
CURRENT REPORT - Anthem Enrollment Details_Anthem Enrollment Details for UI Path01272026.xlsx (29.1 KB)
Original Report
Current State
@jans.delossantos You will have to initialize a new row for every row in the original report and then add the row to final report at the end of each row iteration like this-
@jans.delossantos The issue is in how you’re grouping the data before adding it to the queue. Currently your logic is aggregating all users into a single row instead of creating one row per user. You need to group your data by user before building the comma-separated values. In your dispatcher workflow, use a “Group By” approach: first get the distinct users from the original report, then for each unique user, filter the DataTable to get only that user’s rows, and build the comma-separated NPI and other column values from those filtered rows. Each user’s aggregated data then becomes one transaction item (one queue item). You can use LINQ like dt.AsEnumerable().GroupBy(Function(r) r("UserColumn").ToString()) to group rows by user, then iterate through each group to build your output rows.
Hi @jans.delossantos
Right now the dispatcher is grouping everything together, so all users are being aggregated into a single row. You need to group the data by user first and then build the report inside that loop. In practice, iterate per user (group by ProviderNPI or user key), aggregate values only within that group, and add one row to the output per user. That way each user gets exactly one line and one transaction.