Forum Discussion

MikeGaunt1986's avatar
MikeGaunt1986
New Member
10 months ago
Solved

Load Date

Hi all, 

 

I have a fairly simple app that links to snowflake to get the data. 

 

Within the snowflake dataset I have a field 

 

CURRENT_TIMESTAMP() AS LOAD_DATE

 

Which works fine and everytime the PowerBI refreshes the date updates: 17/09/2025 08:32:09.

 

Is there a way to get this to append, so that every time the data is refreshed a date is recorded and therefore I can track totals over time. 

 

Mnay Thanks 

  • Hi MikeGaunt1986 

    Power BI doesn't store a historical copy of the data. It picks up the most recent data upon refresh. Aside options provided by the other users and if you are on Fabric, you may use a dataflow then load it as append. 

5 Replies

  • v-echaithra's avatar
    v-echaithra
    Community Support

    Hi MikeGaunt1986 ,

    Thank you danextian , rohit1991 , sivarajan21  for your inputs.

    I hope the information provided is helpful. I wanted to check whether you were able to resolve the issue with the provided solutions. Please let us know if you need any further assistance.

    Thank you.

     

  • Hi MikeGaunt1986 

    Power BI will not append rows by itself.
    You need to handle this on the Snowflake side.


    Step 1: Create a Log Table

    CREATE OR REPLACE TABLE LOAD_LOG (
        LOAD_DATE TIMESTAMP
    );

     

    Step 2: Insert on Every Refresh

    Instead of just using CURRENT_TIMESTAMP() in your SELECT, add an insert step:

    INSERT INTO LOAD_LOG (LOAD_DATE)
    SELECT CURRENT_TIMESTAMP();

     

    Step 3: Load This Table in Power BI

    • Import LOAD_LOG into Power BI.

    • This table will now keep all refresh timestamps as history.

    • You can visualize refresh frequency and trends over time.

  • Hi MikeGaunt1986 

     

    Are you using microsoft fabric? Easiest approach would be to use Incremental refresh in service.

    If you control the Snowflake side:

    -- one-time setup
    CREATE TABLE FACT_SNAPSHOT AS
    SELECT *, CURRENT_TIMESTAMP() AS LOAD_DATE
    FROM SOURCE_TABLE;
    
    -- each refresh (could be called from Power BI or a Snowflake Task)
    INSERT INTO FACT_SNAPSHOT
    SELECT *, CURRENT_TIMESTAMP() AS LOAD_DATE
    FROM SOURCE_TABLE;

     

    If you don't control it and have access only upto fabric:

     

    • Create a Dataflow with the original query.

    • In Power Query, add a custom column:
      RefreshDate = DateTime.LocalNow()

    • In Power BI Service, set the dataset storage mode to Append (Dataflow + Incremental Refresh).
      This keeps past refreshes.

    Please let me know if it works!

     

    Best Regards,

     

  • Hi MikeGaunt1986 

    Power BI doesn't store a historical copy of the data. It picks up the most recent data upon refresh. Aside options provided by the other users and if you are on Fabric, you may use a dataflow then load it as append. 

  • v-echaithra's avatar
    v-echaithra
    Community Support

    Hi MikeGaunt1986 ,

    We’d like to follow up regarding the recent concern. Kindly confirm whether the issue has been resolved, or if further assistance is still required. We are available to support you and are committed to helping you reach a resolution.

    Best Regards,
    Chaithra E.