Поделиться через


Справочник по языку сценариев табличной модели (TMSL)

Применимо к: SQL Server 2016 и более поздних версий Analysis Services Azure Analysis Services Fabric/Power BI Premium

Язык скриптов табличных моделей (TMSL) — это синтаксис определения команд и объектной модели для табличных моделей данных на уровне совместимости 1200 или более поздней версии. TMSL взаимодействует со службами Analysis Services через протокол XMLA, где XMLA.Execute метод принимает оба скрипта инструкции на основе JSON в TMSL, а также традиционные скрипты на основе XML в языке сценариев служб Analysis Services (ASSL для XMLA).

Ключевые элементы TMSL:

  • Табличные метаданные на основе семантики табличной модели.

    Табличная модель состоит из таблиц, столбцов и связей. Эквивалентные определения объектов в TMSL, как и следовало ожидать, теперь включают таблицы, столбцы, связи и т. д. Новый обработчик метаданных поддерживает эти определения.

  • Определения объектов структурированы как JSON вместо XML.

    За исключением форматирования полезных данных (в формате JSON или XML), TMSL и ASSL функционально эквивалентны способу предоставления команд и метаданных методам XMLA, используемым для обмена данными сервера и передачи данных.

Использование TMSL

Самый простой способ изучения скриптов TMSL — использовать команды CREATE, ALTER, DELETE или «Process» в SQL Server Management Studio (SSMS) на модели, которую вы уже знаете.

  1. Найдите команду, которую вы хотите использовать: справочник по TMSL — команды

  2. Проверьте ссылку на определение объекта для объектов, используемых в команде: справочник по TMSL — Объекты

  3. Выберите метод для выполнения скрипта TMSL:

Схема определения модели

В следующем фрагменте кода показана сокращенная версия схемы для уровня совместимости базы данных 1200 и выше, свернутая для отображения основных объектов.

"database": {
  "description": "Database object of Tabular Object Model (TOM)",
  "type": "object",
  "properties": {
    "name": {...},
    "id": {...},
    "description": {...},
    "compatibilityLevel": {...},
    "readWriteMode": {...},
    "model": {
      "description": "Model object of Tabular Object Model (TOM)",
      "type": "object",
      "properties": {
        "name": {...},
        "description": {...},
        "storageLocation": {...},
        "defaultMode": {...},
        "defaultDataView": {...},
        "culture": {...},
        "collation": {...},
        "annotations": {...},
        "tables": {...},
        "relationships": {...},
        "dataSources": {...},
        "perspectives": {...},
        "cultures": {...},
        "roles": {...},
        // "functions": {...}, // For database compatibility level 1702 and above
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}

Языки сценариев в службах Analysis Services

Службы Analysis Services поддерживают языки сценариев ASSL и TMSL. В формате JSON описаны только табличные модели, созданные на уровне совместимости 1200 или выше.

Язык сценариев служб Analysis Services (ASSL для XMLA) был первым языком сценариев и по-прежнему является единственным языком сценариев для многомерных моделей и табличных моделей на более низких уровнях совместимости (1100 или 1103). В ASSL табличные модели в 110x описываются в многомерных терминах, таких как куб (для модели) и группа измерений (для таблицы).

Замечание

В [SQL Server Data Tools (SSDT) можно обновить более раннюю версию табличной модели, чтобы использовать TMSL, переключив ее CompatibilityLevel на 1200 или выше. Помните, что обновление необратимо. Перед обновлением создайте резервную копию модели, если вам потребуется исходная версия позже.

В следующей таблице представлена матрица языка сценариев для моделей данных Служб Analysis Services на разных платформах и версиях на определенных уровнях совместимости.

Версия Многомерная Табличный 110x Tabular 1200 Tabular 1400 Табличное 1500 Табличное 1600
Power BI Premium NA NA NA NA TMSL TMSL
Azure Analysis Services NA NA TMSL TMSL TMSL TMSL
SQL Server 2022 Analysis Services ASSL ASSL TMSL TMSL TMSL TMSL
SQL Server 2019 Analysis Services ASSL ASSL TMSL TMSL TMSL NA
SQL Server 2017 Analysis Services ASSL ASSL TMSL TMSL NA NA
Службы SQL Server 2016 Analysis Services ASSL ASSL TMSL NA NA NA
SQL Server 2014 Analysis Services ASSL ASSL NA NA NA NA
SQL Server 2012 Analysis Services ASSL ASSL NA NA NA NA