Skip to main content

Tabular Configuration

Tabular works with a couple of yamlA simple way to write configurations. It's basically a list that computers can read easily. files to generate the tabular model. To generate the correct model, it needs to understand the underlying datawarehouse/dataplatform. The underlying dataplatform has to supply the tables in a certain way (star-schema).

The following YAML files are available (* = mandatory):

  • model.yaml*
  • measure folder (multiple files with measures)
  • measuretemplates.yaml
  • roles.yaml
  • formatstrings.yaml

The model configuration itself is not a standalone file: it is an entry in the models: list of the environment configuration (dp.<env>.yaml). A typical entry looks like this:

models:
- model: DM
tabularName: DM
compatibilityLevel: 1700
addMembers: false
DatabaseSchema: dbo
workspace: FB-Demo-PRD
DefaultPowerBIDataSourceVersion: powerBI_V3
loginType: spn
partitionDeployment: deploypartitions
roleDeployment: RetainRoles
lakehouse: Gold
BimFolder: DM
bimFile: Model.bim
sourceQueryCulture: en-US
ModelFolder: Models/DM
ModelFile: model.yaml
datasourceType: fabric
datasourceName: DefaultDS
LakehouseSourceConnection: Gold
datasourceConnection: DM-ACC
tabularSystemFolder: Technisch
measureTemplateFile: measuretemplates.yaml
formatStringFile: formatstrings.yaml
roleFile: roles.yaml

See Configuration config for the full list of settings.

Role deployment​

roleDeployment decides what the tabular deploy does with the roles defined in roles.yaml versus the roles already present on the deployed model:

ValueRolesMembers
DeployRolesAndMembers (default)From roles.yamlFrom roles.yaml (requires addMembers: true, otherwise the roles are deployed without members)
DeployRolesRetainMembersFrom roles.yamlKept from the deployed model, per role with the same name
RetainRolesKept from the deployed model; roles in roles.yaml are not deployedKept from the deployed model

With RetainRoles a role that only exists in roles.yaml never reaches the workspace, and a model deployed for the first time has no roles at all. Use it only when roles and members are managed on the deployed model itself. A second entry in the same models: list can define a derived model by pointing DerivedModelFile at a derived YAML in the same ModelFolder.

note

The older DimkeyPrefix and DimPrefix settings are deprecated and will be removed in September 2026. Use DimSurrogatekeyPrefix and DimObjectPrefix instead.