This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreGet Fabric Certified for FREE during AI Skills Fest. This week only. Secure your voucher now.
Hi All,
I want to create a column in my table where it inserts the date the data was first loaded in PowerBI- this table will be continually updating. Does anyone have any ideas if there is a function I could use?
Thank you
Solved! Go to Solution.
Hi,
As per your requirement, the main challenge is that Power BI does not natively store the “first load” value for a row. Any function like TODAY() or NOW() will recalculate on every refresh, so it cannot preserve the original load date.
To achieve this, you need to preserve the first load date externally or through merge logic.
Fix (Use Power Query with Merge to Preserve First Load)
Step 1: Maintain a historical table
This table should contain:
Step 2: Merge with current dataset in Power Query
let
Source = CurrentData,
Merge = Table.NestedJoin(Source, {"Entity_ID"}, HistoricalTable, {"Entity_ID"}, "Hist", JoinKind.LeftOuter),
Expand = Table.ExpandTableColumn(Merge, "Hist", {"FirstLoadDate"}),
AddDate = Table.AddColumn(Expand, "FinalLoadDate", each
if [FirstLoadDate] = null then DateTime.LocalNow() else [FirstLoadDate]
)
in
AddDate
Logic Explained
If you don’t have a historical table
You can derive first appearance in dataset:
First Load Date =
CALCULATE(
MIN('YourTable'[Date]),
ALLEXCEPT('YourTable', 'YourTable'[Entity_ID])
)
Note:
Hope this helps.
Thanks!
A DAX calculated column won't work here, it recalculates on every refresh, so it will always show the current date, not the first load date. You need persistence outside of Power BI.
The cleanest fix is to add the column at the data source. If you have access to your SQL table, add a first_loaded_date column with a DEFAULT GETDATE() constraint and no update trigger. It stamps the date once on insert and never changes.
ALTER TABLE YourTable
ADD first_loaded_date DATE DEFAULT GETDATE();
Hi @JJ3303 ,
Thank you for reaching out to the Microsoft Community Forum.
Hi @amitchandak , @SamInogic , @cengizhanarslan and @ryan_mayu ,Thank you for your prompt responses.
Hi @JJ3303 , could you please try the proposed solutions shared by @amitchandak , @SamInogic , @cengizhanarslan and @ryan_mayu ? Let us know if you’re still facing the same issue we’ll be happy to assist you further.
Regards,
Dinesh
Hi @JJ3303 ,
We haven’t heard from you on the last response and was just checking back to see if you have a resolution yet. And, if you have any further query do let us know.
Regards,
Dinesh
I don't think we can do that. We can create a refresh date
= Table.AddColumn(#"Changed Type", "LoadDate", each DateTime.LocalNow(), type datetime)
However, it only contains refresh time. That means when you click refresh , the time will be updated.
Proud to be a Super User!
A DAX calculated column won't work here, it recalculates on every refresh, so it will always show the current date, not the first load date. You need persistence outside of Power BI.
The cleanest fix is to add the column at the data source. If you have access to your SQL table, add a first_loaded_date column with a DEFAULT GETDATE() constraint and no update trigger. It stamps the date once on insert and never changes.
ALTER TABLE YourTable
ADD first_loaded_date DATE DEFAULT GETDATE();
Hi,
As per your requirement, the main challenge is that Power BI does not natively store the “first load” value for a row. Any function like TODAY() or NOW() will recalculate on every refresh, so it cannot preserve the original load date.
To achieve this, you need to preserve the first load date externally or through merge logic.
Fix (Use Power Query with Merge to Preserve First Load)
Step 1: Maintain a historical table
This table should contain:
Step 2: Merge with current dataset in Power Query
let
Source = CurrentData,
Merge = Table.NestedJoin(Source, {"Entity_ID"}, HistoricalTable, {"Entity_ID"}, "Hist", JoinKind.LeftOuter),
Expand = Table.ExpandTableColumn(Merge, "Hist", {"FirstLoadDate"}),
AddDate = Table.AddColumn(Expand, "FinalLoadDate", each
if [FirstLoadDate] = null then DateTime.LocalNow() else [FirstLoadDate]
)
in
AddDate
Logic Explained
If you don’t have a historical table
You can derive first appearance in dataset:
First Load Date =
CALCULATE(
MIN('YourTable'[Date]),
ALLEXCEPT('YourTable', 'YourTable'[Entity_ID])
)
Note:
Hope this helps.
Thanks!
Check out the May 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
| User | Count |
|---|---|
| 23 | |
| 21 | |
| 20 | |
| 20 | |
| 15 |
| User | Count |
|---|---|
| 58 | |
| 55 | |
| 42 | |
| 26 | |
| 24 |