Forum Discussion

jaryszek's avatar
jaryszek
Icon for Super User rankSuper User
1 year ago
Solved

How to create a new semantic model based on existing one on OneLake?

Hello, Imagine that you have 1000 customers. And I have a baseline remote semantic model on OneLake.  And now i want to create the new one specific only for different customer. It be a schema cha...
  • Anonymous's avatar
    Anonymous
    11 months ago

    Hi jaryszek ,

    Thank you for reaching out to the Microsoft fabric community forum.

     

    Copying a semantic model:

    Currently, Fabric does not offer a one-click feature to duplicate a semantic model. However, you can do this by downloading the semantic model as a .pbix file in Power BI Desktop and then re-publishing it to another workspace. Another option is to use deployment pipelines in Fabric to move semantic models between workspaces, which creates copies for various environments or customers. If your model uses OneLake data, you might also parameterize it so each copy references a different customer’s data.

     

    Versioning of semantic models:

    Semantic models do not include built-in version control features. It is best to use Fabric’s Git integration to manage these models in source control. You can export models with Tabular Model Definition Language (TMDL) or Tabular Editor, save them in a Git repository, and monitor changes as you would with code. Deployment pipelines are also useful for managing the lifecycle across Dev, Test, and Production environments.

    Reference: Overview of Fabric Git integration - Microsoft Fabric | Microsoft Learn

     

    Versioning for reports:

    Just like semantic models, reports can be versioned by integrating with Git or storing .pbix files in source control. Deployment pipelines help ensure reports are consistently moved between environments with the correct version, keeping them aligned with the semantic models they rely on.

    Reference: Overview of Fabric deployment pipelines - Microsoft Fabric | Microsoft Learn

     

    Common semantic model with customer-specific extensions:

    One effective strategy is to develop a shared or “hub” semantic model that includes all common elements such as measures, dimensions, and facts. For each customer, you can then build thin semantic models that reference the shared model and incorporate any customer-specific schema modifications or additional logic. This approach minimizes duplication, maintains consistent business logic across customers, and supports necessary customization.

     

    Supporting customers via app architecture:

    If customers would like you to handle everything from a central location, you can create and manage the semantic model within your workspace and share reports using Power BI apps. These apps offer a secure way to package and distribute semantic models and reports to customer groups. For better isolation, you can set up separate workspaces and apps for each customer, which also helps you manage permissions and updates more easily.

    Reference: Publish an app in Power BI - Power BI | Microsoft Learn

     

    Supporting customers with their own tenant and OneLake:

    Currently, direct semantic model sharing is not available in cross-tenant scenarios. To address this, you can either export and deploy the semantic model into the other tenant, or use OneLake shortcuts to share data between tenants, enabling customers to build their own semantic models using your data. Alternatively, you can provide your model definitions (such as .pbix or TMDL files) so they can be deployed in the customer’s Fabric environment under a managed service agreement.

    Reference: Unify data sources with OneLake shortcuts - Microsoft Fabric | Microsoft Learn

    Hope this helps, please feel free to reach out for any further questions.

     

    Thank you.