SemanticModel definition
This article provides a breakdown of the definition structure for semantic model items.
Supported formats
Not required.
Definition parts
SematicModel has different parts that make up its definition. Depending on your project, the SematicModel folder can include:
- .pbi\
- localSettings.json
- editorSettings.json
- cache.abf
- unappliedChanges.json
- model.bim
- definition.pbidataset
- diagramLayout.json
- item.config.json
- item.metadata.json
Not every folder includes all of the files and subfolders described above.
model.bim and definition.pbidataset are required.
The definition of a semantic model item with only these 2 required parts is constructed as follows:
Part 1
- Path: The file name of the definition.pbidataset
- Payload Type: InlineBase64
- Payload: Example of expected payload content, decoded from Base64
Part 2
- Path: The file name of the model.bim
- Payload Type: InlineBase64
- Payload: Example of expected payload content, decoded from Base64
The model.bim file
Contains a Tabular Model Scripting Language (TMSL) Database object definition of the project model.
The definition.pbidataset file
Contains the overall definition of a dataset and core settings. For more information, refer to the definition.pbidataset schema document.
Example of payload content decoded from Base64
model.bim example
{
"compatibilityLevel": 1550,
"model": {
"culture": "en-US",
"defaultPowerBIDataSourceVersion": "powerBI_V3",
"tables": [ ]
}
}
definition.pbidataset example
{
"version": "1.0",
"settings": {}
}
Definition example
{
"parts": [
{
"path": "model.bim",
"payload": "ew0KICAiY29tcGF0aWJpbGl0eUxldmVsIjogMTU1MCwNCiAgIm1vZGVsIjogew0KICAgICJjdWx0dXJlIjogImVuLVVTIiwNCiAgICAiZGVmYXVsdFBvd2VyQklEYXRhU291cmNlVmVyc2lvbiI6ICJwb3dlckJJX1YzIiwNCiAgICAidGFibGVzIjogWyBdDQogIH0NCn0=",
"payloadType": "InlineBase64"
},
{
"path": "definition.pbidataset",
"payload": "ewogICJ2ZXJzaW9uIjogIjEuMCIsCiAgInNldHRpbmdzIjoge30KfQ==",
"payloadType": "InlineBase64"
}
]
}