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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
FU
Helper IV
Helper IV

Tracking data changes

I am trying to create a visual as per below where I can track changes in my data on a weekly basis by selecting 2 reports (as shown in the example below Week1 and Week3)

Let's take the below table as an example. Let's assume every week I run a flow to automatically grab a snapshot of the current data in my Excel file and store these files into a SharePoint folder which is connected to my PBI file.

 

Example - 

 

The week 1 table is showing my data at a given snapshot date.

 

Week 1:

Project NameProject IDProgramme IDForecastStatus
AProjectID 1ProgrammeID 1ยฃ500,000.00Status A
BProjectID 2ProgrammeID 2ยฃ500,000.00Status B
CProjectID 3ProgrammeID 3ยฃ500,000.00Status C
DProjectID 4ProgrammeID 4ยฃ500,000.00Statuc D

 

 

One week later my power flow takes a snapshot of my Excel file and stores Week 2 into my SharePoint folder

 

Week 2: (changes from week 1 and week 2 in 'Forecast' and 'Status' columns. 

Project NameProject IDProgramme IDForecastStatus
AProjectID 1ProgrammeID 1ยฃ500,000.00Status A
BProjectID 2ProgrammeID 2ยฃ640,000.00Status H
CProjectID 3ProgrammeID 3ยฃ700,000.00Status G
DProjectID 4ProgrammeID 4ยฃ500,000.00Statuc O

 

After several weeks I would have multiple snapshots of this table with data changing each week. I want to create a visual which allows me to see which field have been changed. Something like the below image:

 

If i select week 1 and week 3 in my filters, the column+row which have changes in them would be highlighted.

 

FU_0-1671579869756.jpeg

 

 

I hope this is clarifies? If not please let me know!

2 ACCEPTED SOLUTIONS

Ok, now I see that the tables are not the same. Actually - at all. This will be harder to approach, but can be done.

 

1. I've created a new folder on my computer: "D:\PowerBI\Tracking changes in files\source" that contains the files from you (you can change it later to Sharepoint folder).

2. I've prepared a parameter for you that stores folder location so you can see it later:

bolfri_0-1671626808582.png

 

3. I've created a "New source" from folder and set up a path to previously created parameter

bolfri_1-1671626865932.png

bolfri_2-1671626875609.png

4. As you can see it detects all the files in this folder, so make sure that this folder contains only a desired files. Yes, you can filter unnesessery files eg. when extenstion doesn't match, but I want to keep it simple.

bolfri_3-1671626991189.png

5. For this example I will show you how to import Overview tables from folders, but it needed to be done for each sheet that you want to track. And also - it can be done by function so it will detect all the Sheets in the file and track them all but to see if that was what you wanted lets do it manualy only 2 of them: Overview and Milestone 

bolfri_4-1671627070598.png

6. I've renamed folders, parameters and functions here, because it will be easier to understand whats goin on.

bolfri_6-1671627542252.png

 

 

7. In the "OverviewTransform SampleFile" table will add an index column so we can track changes for each row and do not lose this information.

bolfri_7-1671627560147.png

 

8. In the "OverviewTransform SampleFile" table Select Index column and then Unpivot all other columns

bolfri_8-1671627665429.png

9. In the "OverviewTransform SampleFile" table se should see something like this:

bolfri_9-1671627688419.png

10. In Overview table we should see something like this:

bolfri_10-1671627741854.png

So we have filename, index (row number in that file), columnname and value of that column.

11. Let's add a new custom column with a name of this table (Overview).

bolfri_12-1671628149077.png

 

 

12. Done. No we need to repeat that to Milestone table.

- Import from folder based on folderPath parameter

- this time select Milestone sheet

- rename queries and parameters

- add index

- unpixot rest of the columns

- add custom column

 

13. We should see something like this:

bolfri_13-1671628227331.png

 

14. Now we want to combine them into one table, so we are selecting Home > Appent Queries > As new

bolfri_14-1671628302492.png

15. Select option that you want 3 or more tables and select tables to append 

bolfri_15-1671628347093.png

 

16. Right now we have such table

bolfri_16-1671628497541.png

 

Source.Name: file names that information is coming from

SourceTable.Name: a table name from that file

Index: row index

ColumnName: business column name

Value: value of that column and index in that file

 

17. On the Overview and Milestone tables uncheck the "Unable load" option so we won't have duplicated information.

bolfri_17-1671628635437.png

This post is getting too long so let me finish here and create a new answer how to viz it.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

Step 1: Create 2 tables containing possible filter to files. Previously it Was 'Sample'Snapshot. Right now it's FilesTracker[Source.Name]

FileFilter_1 = GROUPBY(FilesTracker;FilesTracker[Source.Name])
FileFilter_2 = GROUPBY(FilesTracker;FilesTracker[Source.Name])
 
Step 1.1. (optional): I always want to write DAX in dedicated table so I've created a new calculated table DAX that holds everything.
DAX = ROW("DAX";"DAX")

Step 2: Create a value measure for File1
Value from file 1 =
var selectedFile = VALUES(FileFilter_1[Source.Name])
return CALCULATE(SELECTEDVALUE(FilesTracker[Value]);FILTER('FilesTracker';FilesTracker[Source.Name] in selectedFile))
 
Step 3: Create a value measure for File2
Value from file 2 =
var selectedFile = VALUES(FileFilter_2[Source.Name])
return CALCULATE(SELECTEDVALUE(FilesTracker[Value]);FILTER('FilesTracker';FilesTracker[Source.Name] in selectedFile))
 
Step 4: Create a measure that defines if it's a change or not
Changes detector = IF([Value from file 1]<>[Value from file 2];1;0)
 
Step 5. Put up a filter on table to see only rows that has some changes 
bolfri_0-1671630999818.png

 

Step 6. Put all filters on the page and viz it as you want ๐Ÿ™‚

 

Final effect:

bolfri_1-1671631091452.png

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

21 REPLIES 21
FU
Helper IV
Helper IV

This is great - just on your first point on tables not being the same, the overview table in 'Power BI TEST' and 'Power BI TEST2'  have the same format and columns. The only difference is the data where I've inserted CHANGED

bolfri
Solution Sage
Solution Sage

I am not sure if I've understood you correctly, but... this is the data that I've used:

bolfri_3-1671587401677.png

 

Step 1: Create 2 tables containing possible filter selections

Snapshot 1 = DISTINCT('Sample'[Snapshot])
Snapshot 2 = DISTINCT('Sample'[Snapshot])

Step 2: Create a Forecast value measure for snapshot 1
Snapshot 1 Value =
var snapshot = values('Snapshot 1'[Snapshot])
return SUMX(
    FILTER('Sample';'Sample'[Snapshot] in snapshot);
    'Sample'[Forecast]
)
 
Step 3: Create a Forecast value measure for snapshot 2
Snapshot 2 Value =
var snapshot = values('Snapshot 2'[Snapshot])
return SUMX(
    FILTER('Sample';'Sample'[Snapshot] in snapshot);
    'Sample'[Forecast]
)
 
Step 4: Create a measure that defines a color
Highlight changes =
SWITCH(
    TRUE();
    [Snapshot 1 Value] = [Snapshot 2 Value];"Gray";
    [Snapshot 1 Value] < [Snapshot 2 Value];"Green";
    [Snapshot 1 Value] > [Snapshot 2 Value];"Red"
)
 
Step 5: Viz it.
bolfri_1-1671587361212.pngbolfri_2-1671587372732.pngbolfri_4-1671587442864.png

You can also add another measure eg. difference between and after ๐Ÿ™‚

 

Hope that this help you.

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Something like the below. The boxes on the left are buttons and highlight in red to show if there are changes in Table 1

PBI TEST.png

Thanks for sending this through.

 

Let's assume my Excel file contains multiple tables and a snapshot is taken weekly and stored in a SharePoint folder. Will this still work?

 

This is how my Excel file will be captured and stored. The idea is to have it complety automated. The spreadsheet I have contains about 10 tables all which I'd like to see if there has been any changes. 

 

Screenshot_20221220-095610_Outlook.jpg

โ€ƒ

 

I'd ideally want to show it in the format below if possible

Screenshot_20221220-095619_Outlook.jpg

โ€ƒ

โ€ƒ

@FU,

 

Yes, I think so. Let's assume that you have excel files (all of them with same columns and formats; different values & number of rows accepted) in same folder, then you're using "Import from folder" function, transform the data and ends up with a table that contains all the columns and values from all files, right? On your screenshot there is a column "Name" which represents file name that the data is coming from. In my example this column is calles "Snapshot". Rest of the solution is what I've discribed in previous post. Try it.

 

Also - my Solution is represented in one table, but you can do two tables if you want, so you can achive desired viz effect.

 

Ask, if you have some doubts.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




@bolfri 
This is very helpful and I think very close to the solution.

 

Also it's worth noting - I have multiple tables in my Excel file. For example in the last image i've attached you can see 'Overview' and 'Milestones' in the top left and the idea with those is to have them as buttons where they are conditionally formatted to show if there are any changes in those tables. Does that make sense?

 

For example If i have multiple buttons down the left all representing a table in my Excel file, in a reset view I want to be able to:

 

Step 1: select two reports/dates e.g. Power BI Data1 vs Power BI Data2

Step 2: on the left hand side where my buttons will be - be able to see which tables have changes in them by filling the button in green for example.

 

Step 3: click on the highlighted button on the left and then be able to see where the changes are on the tables as per your example above. 

 

Does that make sense or have I confused you

Yes. It can be done in Power BI. Even if you are using different tables from few excel files. The main question here is: do this tables are same OR they have different columns/format types?

 

If same then you can union them into one table and have sample data like this:

FileName aka SnapshotDataNameAnother ColumnSome Value
Power BI Data.xlsxOverviewSome KPI 150
ower BI Data.xlsxMilestneSome Other KPI55
Power BI Data 1.xlsxOverviewSome KPI 160
Power BI Data 1.xlsxMilestneSome Other KPI60

 

If different then you can have 2 tables: one for Overview statuses, one for Milestone statuses and create a button to switch between bookmarks with this two tables. This buttons can be conditionaly formated if there are some changes between selected files.

 

You can also prepare a button to filterout only rows where you have some changes (something like: See details).





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




The tables are the exact same format as they are a snapshot of the data on a weekly basis. NO changes to column names/formats or quantity of columns

So if I am correct:

You have an excel files eg. Power BI Data Week xyz.xlsx and in this file you have 2 Tables (in one sheet or different one) One for Overview and one for Milestones. TABLES (both Overview and Milestrones) ARE THE SAME but contains different values in one column that can change in next file. Right?

And next file eg. Power BI Data Week abc.xlsx have same format, same tables etc but different values in values column on it.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




For example

 

Overview Table on week 1:

Project NameProject IDKPIStatusDateRisk
Name 1ID 1KPI 1Status ADate ARisk B
Name 2 ID 2KPI 2Status BDate BRisk C

 

Overview Table on week 2 (Changes highlights in Bold)

Project NameProject IDKPIStatusDateRisk
Name 1ID 1KPI 1Status HDate ARisk M
Name 2 ID 2KPI 2Status NDate GRisk C

 

Something like this. I have about 10 tables all in different sheets which would follow the same format as above

YES! That is correct. Would it help if I sent a sample PBI file? Can I even do that on here - if so how?

Yes, sample file would be great. You can zip an example excel files (for week 1 and week 2) with few sheets and table with sample rows on them. Then a PBI file (if you alreday have it).

 

You can post it on website eg. https://wetransfer.com/ and give here a link so anyone can help.

 

We will figure out something ๐Ÿ™‚





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




I have uploaded 2 Excel files here. I for each snapshot week. 

https://we.tl/t-kN7fYQnfmn

Ok, now I see that the tables are not the same. Actually - at all. This will be harder to approach, but can be done.

 

1. I've created a new folder on my computer: "D:\PowerBI\Tracking changes in files\source" that contains the files from you (you can change it later to Sharepoint folder).

2. I've prepared a parameter for you that stores folder location so you can see it later:

bolfri_0-1671626808582.png

 

3. I've created a "New source" from folder and set up a path to previously created parameter

bolfri_1-1671626865932.png

bolfri_2-1671626875609.png

4. As you can see it detects all the files in this folder, so make sure that this folder contains only a desired files. Yes, you can filter unnesessery files eg. when extenstion doesn't match, but I want to keep it simple.

bolfri_3-1671626991189.png

5. For this example I will show you how to import Overview tables from folders, but it needed to be done for each sheet that you want to track. And also - it can be done by function so it will detect all the Sheets in the file and track them all but to see if that was what you wanted lets do it manualy only 2 of them: Overview and Milestone 

bolfri_4-1671627070598.png

6. I've renamed folders, parameters and functions here, because it will be easier to understand whats goin on.

bolfri_6-1671627542252.png

 

 

7. In the "OverviewTransform SampleFile" table will add an index column so we can track changes for each row and do not lose this information.

bolfri_7-1671627560147.png

 

8. In the "OverviewTransform SampleFile" table Select Index column and then Unpivot all other columns

bolfri_8-1671627665429.png

9. In the "OverviewTransform SampleFile" table se should see something like this:

bolfri_9-1671627688419.png

10. In Overview table we should see something like this:

bolfri_10-1671627741854.png

So we have filename, index (row number in that file), columnname and value of that column.

11. Let's add a new custom column with a name of this table (Overview).

bolfri_12-1671628149077.png

 

 

12. Done. No we need to repeat that to Milestone table.

- Import from folder based on folderPath parameter

- this time select Milestone sheet

- rename queries and parameters

- add index

- unpixot rest of the columns

- add custom column

 

13. We should see something like this:

bolfri_13-1671628227331.png

 

14. Now we want to combine them into one table, so we are selecting Home > Appent Queries > As new

bolfri_14-1671628302492.png

15. Select option that you want 3 or more tables and select tables to append 

bolfri_15-1671628347093.png

 

16. Right now we have such table

bolfri_16-1671628497541.png

 

Source.Name: file names that information is coming from

SourceTable.Name: a table name from that file

Index: row index

ColumnName: business column name

Value: value of that column and index in that file

 

17. On the Overview and Milestone tables uncheck the "Unable load" option so we won't have duplicated information.

bolfri_17-1671628635437.png

This post is getting too long so let me finish here and create a new answer how to viz it.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Hi @FU,

 

I can't send long messages, so I'll put the instruction how to create a tooltip right here.

bolfri_0-1671722945926.png

 

Create a new page. Let's call it: Tooltip.

 

Change the General settings on that page to be smaller than usual eg 400px x 600px in my case.

bolfri_1-1671722503924.png

 

Add a visualisation that you want (in my example it was a table with column listed below). Note that "Flag" column is actually Changes detector measure from before, but it's also formated as a icon only. 

 

Turn off the "Keep all filters" switch and put there an Index and SourceTable.Name field only.

 

bolfri_0-1671722350316.png

At this step you should see something like this:

bolfri_3-1671722598222.png

Come back to the first page and from Ribon open Sync slicers panel.

bolfri_4-1671722641003.png

Click on the Source.Name slicer (FileFilter_1) and turn on the sync slicers like this:

bolfri_5-1671722717963.png

So there is a sync between Sample and Tooltip page, but only on Sample page this slicer will be visible.

Do that same thing for Source.Name slicer (FileFilter_2), so both filters will be applyied on Tooltip page.

 

Click on the table witch detected changes, go to format options and then generals:

Turn On Tooltip section

Type: Report page

Page: Tooltip (or another name if you changed it before)

bolfri_1-1671723000886.png

 

It should work ๐Ÿ™‚





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Thank you this worked. The Issue I am having is my tooltop is a long list - how can I scroll down tooltip? If i move my mouse my tooltip will dissapear

Unfortunetelly this can't be done. Tooltip it's a tooltip. ๐Ÿ˜„

https://learn.microsoft.com/en-us/power-bi/create-reports/desktop-drillthrough

You can copy Tooltip page and turn off tooltip option. In that case you can Drillthrough the table to that page and scroll.

bolfri_0-1671728080207.png

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Can I select which columns to show on tooltip or does it include everything?

Excellent I will give this a try - just to confirm I do not need to make any changes to my back end data (like the steps you mentioned yesterday) correct?

No, you don't need to. ๐Ÿ™‚ You can apply everything on the project that you're working on.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors