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:

  1. Part 1

  2. Part 2

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"
        }
    ]
}