Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье представлена разбивка структуры определения для элементов семантической модели.
Поддерживаемые форматы
Определения семантической модели могут использовать либо TMDL формат TMSL , но не одновременно.
По умолчанию TMDL используется формат.
Части определения
| Путь к части определения | тип | Обязательный | Описание |
|---|---|---|---|
definition/ |
definition/ parts (TMDL) | True 1 | Табличное определение служб Analysis Services с использованием формата TMDL . |
model.bim |
часть model.bim (TMSL) | True 1 | Табличное определение служб Analysis Services с использованием формата TMSL . |
diagramLayout.json |
частьdiagramLayout.json | false | Содержит метаданные схемы семантической модели. |
definition.pbism |
часть definition.pbism | истина | Содержит основные параметры о семантической модели и версии формата файла. |
1 — definition/ часть требуется для TMDL формата, а model.bim для формата требуется TMSL . Это взаимоисключающее— семантическая модель использует один формат или другой, а не оба.
Дополнительные сведения о файлах определения семантической модели см. в документации по Проекту Power BI.
Пример полезных данных с использованием TMDL формата:
SemanticModel/
├── definition/
│ ├── tables/
│ │ ├── product.tmdl
│ │ ├── sales.tmdl
│ │ ├── calendar.tmdl
│ ├── relationships.tmdl
│ ├── model.tmdl
│ ├── database.tmdl
├── Copilot/
│ ├── Instructions/
│ │ ├── instructions.md
│ │ ├── version.json
│ ├── VerifiedAnswers/
│ ├── schema.json
│ ├── examplePrompts.json
│ ├── settings.json
│ └── version.json
├── diagramLayout.json
└── definition.pbism
{
"parts": [
{
"path": "definition/database.tmdl",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": "definition/model.tmdl",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": "definition/tables/product.tmdl",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": "definition/tables/sales.tmdl",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
...
{
"path": "definition.pbism",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
},
{
"path": "diagramLayout.json",
"payload": "<base64 encoded string>",
"payloadType": "InlineBase64"
}
]
}
определение или часть
definition/ Пример папки:
definition/
├── tables/
│ ├── product.tmdl
│ ├── sales.tmdl
│ ├── calendar.tmdl
├── relationships.tmdl
├── model.tmdl
├── database.tmdl
Пример tables/product.tmdl
table Product
measure '# Products' = COUNTROWS('Product')
formatString: #,##0
column Product
dataType: string
isDefaultLabel
summarizeBy: none
sourceColumn: Product
column ProductKey
dataType: int64
isHidden
isKey
summarizeBy: none
sourceColumn: ProductKey
column Category
dataType: string
summarizeBy: none
sourceColumn: Category
partition Product-171f48b3-e0ea-4ea3-b9a0-c8c673eb0648 = m
mode: import
source =
let
...
in
#"FinalStep"
часть model.bim
model.bim Пример файла:
{
"compatibilityLevel": 1702,
"model": {
"annotations": [],
"culture": "en-US",
"sourceQueryCulture": "en-US",
"cultures": [],
"dataAccessOptions": {
"legacyRedirects": true,
"returnErrorValuesAsNull": true
},
"defaultPowerBIDataSourceVersion": "powerBI_V3",
"discourageImplicitMeasures": true,
"expressions": [],
"functions": [],
"perspectives": [],
"relationships": [],
"roles": [],
"tables": [
{
"name": "Product",
"annotations": [],
"columns": [
{
"name": "Product",
"dataType": "string",
"isDefaultLabel": true,
"sourceColumn": "Product",
"summarizeBy": "none"
},
{
"name": "ProductKey",
"dataType": "int64",
"formatString": "0",
"isAvailableInMdx": false,
"isHidden": true,
"isKey": true,
"sourceColumn": "ProductKey",
"summarizeBy": "none"
}
,
{
"name": "Category",
"dataType": "string",
"sourceColumn": "Category",
"summarizeBy": "none"
}
],
"measures": [
{
"name": "# Products",
"expression": "COUNTROWS('Product')",
"formatString": "#,##0",
"lineageTag": "1f8f1a2a-06b6-4989-8af7-212719cf3617"
}
],
"partitions": [
{
"name": "Product-171f48b3-e0ea-4ea3-b9a0-c8c673eb0648",
"mode": "import",
"source": {
"expression": [
"let",
" ...",
"in",
" #\"FinalStep\""
],
"type": "m"
}
}
]
}
]
}
}
diagramLayout.json часть
diagramLayout.json Пример файла:
{
"version": "1.1.0",
"diagrams": [
{
"ordinal": 0,
"scrollPosition": {
"x": 0,
"y": 74.883720930232556
},
"nodes": [
{
"location": {
"x": 942.5095849858792,
"y": 14.090768666666882
},
"nodeIndex": "[Table Name]",
"nodeLineageTag": "[Table Lineage Tag]",
"size": {
"height": 1000,
"width": 254
},
"zIndex": 5
},
{
"location": {
"x": 537.83428438628755,
"y": 836.33418866666739
},
"nodeIndex": "[Table Name]",
"nodeLineageTag": "[Table Lineage Tag]",
"size": {
"height": 481,
"width": 276
},
"zIndex": 2
}
],
"name": "All tables",
"zoomValue": 74.782608695652172,
"pinKeyFieldsToTop": false,
"showExtraHeaderInfo": false,
"hideKeyFieldsWhenCollapsed": false,
"tablesLocked": false
}
],
"selectedDiagram": "All tables",
"defaultDiagram": "All tables"
}
часть definition.pbism
definition.pbism Пример файла:
{
"$schema": "https://developer.microsoft.com/json-schemas/fabric/item/semanticModel/definitionProperties/1.0.0/schema.json",
"version": "5.0",
"settings": {
"qnaEnabled": false
}
}