Forum Discussion

smpa01's avatar
smpa01
Community Champion
1 year ago
Solved

semantic link query versions

Semantic-link has been extremely useful in notebook. 

 

However, I was wondering if there is a way to access versioning/snapshot of each semantic model/layer (if refresh version are internally stored) and semanticc-link is able to refer to a version of a particular semnatic model/layer, such as version_t, version_t-1, version_t-2,version_t-3, so on and so forth.

 

pseudocode

df_dax = fabric.evaluate_dax(

    "some_model"

   , "DESIRED_SEMANTIC_MODEL_VERSION_IF_INTERNALLY_STORED_LIKE_A_DELTA_LOG_OR_SNAPSHOT"

   , """ EVALUATE Table """
)

 

Currently, semantic-link can report on as-is version but I am not sure if there is a way to time-travel on semanic model/link to a particular version to report on daily difference tracking.

 

Thank you in advance.

AlexisOlson 

7 Replies

  • Hi smpa01 

     

     Fabric does not provide built-in functionality to directly access versioning or snapshots of semantic models within the Semantic Link framework

     

    you can create custom snapshots of semantic models by extracting metadata, measures, or query results and storing them in Delta tables or other storage formats with timestamps

     

    https://m.youtube.com/watch?v=VAHOl9KqSsk

     

     

    Not related to Fabric, but Power BI Premium workspaces support a version history feature (in preview), which automatically captures up to five versions of a semantic model. These versions store both metadata and data, allowing users to restore a previous version if needed.

     

     

    https://learn.microsoft.com/en-us/power-bi/transform-model/service-semantic-model-version-history

    • smpa01's avatar
      smpa01
      Community Champion

      nilendraFabric this is good. 

       

      But, In order for me to utilize this in production (with ~ 50 or so models/ssas db), I need to write a  script that refresh the db programmatically followed by a custom write of the db in a lakehouse. If the models refreshes 5 times a day, that will be ~200 writes which becomes a little difficult to manage.

       

      When you write tables to a lakehouse in fabric or in databricks, you still see the same table but it creates Delta Log or blob snapshot which you can access for diff tracking if need be. Only if this could have been somehow extended to the ssas db; i.e. keep one model and track db versions through delta log/snapshot. Then you would not have required to custom write each sematic refresh to the lakehouse. The fix could work for a small sematic layer but it would be difficult for a SSAS db with high/higher number of models.

       

  • That would be pretty nice, but I doubt there is an easy way to do this.

  • v-veshwara-msft's avatar
    v-veshwara-msft
    Community Support

    Hi smpa01 ,

    Thanks for being an active part of the Microsoft Fabric Community.

    As nilendraFabric mentioned, you can currently view up to five previous versions of a semantic model using the version history feature (currently in preview) available in Power BI Premium workspaces.
    Use semantic model version history (preview) - Power BI | Microsoft Learn
    If you need to manage more versions or maintain longer-term version control, Git integration is a good option. With Git, you can export your semantic models and track changes through commits.

    Get started with Git integration - Microsoft Fabric | Microsoft Learn

     

    For logging and monitoring, you can use the Workspace Monitoring feature in Fabric to access operational logs related to semantic models, including refresh history, query execution, and more. Semantic model operation logs - Power BI | Microsoft Learn

    There’s also a helpful blog that walks through how to analyze these logs using notebooks: Analyzing Semantic Model Logs Using Fabric Workspace Monitoring

     

    And if you're interested in the broader discussion around versioning of semantic models, there's a good community thread here: Share your thoughts on the new semantic model vers... - Microsoft Fabric Community

     

    Please reach out for further assistance.
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly and a kudos would be appreciated.

     

    Thnak you.

    • v-veshwara-msft's avatar
      v-veshwara-msft
      Community Support

      Hi smpa01 ,

      We haven’t heard from you since our last response and wanted to check if the provided solutions met your needs. If they did, please consider accepting the solution to help others benefit. Otherwise, feel free to reach out for further assistance.

      Thank you

  • v-veshwara-msft's avatar
    v-veshwara-msft
    Community Support

    HI smpa01 ,
    Just checking in to see if you query is reolved and if any responses were helpful. If so, kindly consider marking the helpful reply as 'Accepted Solution' to help others with similar queries. 

    Otherwise, feel free to reach out for further assistance.

    Thank you.

  • v-veshwara-msft's avatar
    v-veshwara-msft
    Community Support

    Hi smpa01 ,

    We’re following up once more regarding your query. If it has been resolved, please mark the helpful reply as the Accepted Solution to assist others facing similar challenges.

    If you still need assistance, please let us know.
    Thank you.