Создание вычисляемой таблицы

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Вычисляемая таблица — это вычисляемый объект, основанный на запросе ИЛИ выражении DAX, производным от всех или частей других таблиц в одной модели.

Распространенная проблема проектирования, которую могут решить вычисляемые таблицы, заключается в реализации измерения, используемого для разных ролей в конкретном контексте, чтобы предоставить его в качестве структуры запросов в клиентских приложениях. Вы можете вспомнить, что измерение ролевой игры — это просто таблица, отображаемая в нескольких контекстах. Классический пример — таблица Date (дата), выступающая как OrderDate, ShipDate или DueDate в зависимости от связи внешнего ключа. Создавая вычисляемую таблицу для ShipDate явным образом, вы получаете автономную таблицу, доступную для запросов, как полностью операбельную, как и любую другую таблицу. Другое использование включает настройку отфильтрованного набора строк, подмножества или надмножества столбцов из других существующих таблиц. Это позволяет сохранить исходную таблицу без изменений при создании вариантов этой таблицы для поддержки определенных сценариев.

Использование вычисляемых таблиц наилучшим образом потребует знания хотя бы основ DAX. При работе с выражениями для таблицы может помочь знать, что вычисляемая таблица содержит одну секцию с DAXSource, где выражение является выражением DAX.
Для каждого столбца, возвращаемого выражением, имеется один вычисляемый столбец, где SourceColumn — это имя возвращаемого столбца (аналогично DataColumns в невычисляемых таблицах).

Прежде чем создать вычисляемую таблицу, должна существовать по крайней мере одна таблица. Если вы создаете вычисляемую таблицу как автономный объект вычисляемой таблицы, сначала можно создать таблицу, импортируя из источника данных файла (csv, xls, xml). Импортируемый файл может содержать один столбец и одно значение. Затем эту таблицу можно скрыть.

Создание вычисляемой таблицы

  1. Сначала убедитесь, что табличная модель имеет уровень совместимости 1200 или выше. Вы можете проверить свойство уровня совместимости в модели в SSDT.

  2. Перейдите в представление данных. Вы не можете создать вычисляемую таблицу в представлении диаграммы.

  3. > Выберитеновую вычисляемую таблицу.

  4. Введите или вставьте выражение DAX (см. ниже некоторые идеи).

  5. Назовите таблицу.

  6. Создайте связи с другими таблицами в модели. См. статью "Создание связи между двумя таблицами", если вам нужна помощь в этом шаге.

  7. Ссылайтесь на таблицу в вычислениях или выражениях в модели или используйте анализ в Excel для нерегламентированного исследования данных.

Репликация ролевого измерения

В строке формул введите формулу DAX, которая получает копию другой таблицы. После заполнения вычисляемой таблицы присвойте ему описательное имя, а затем настройте связь, которая использует внешний ключ, относящийся к роли. Например, в базе данных Adventure Works можно создать вычисляемую таблицу для даты выполнения и использовать DueDateKey в качестве основания для установления связи с таблицей фактов.

=DimDate  

Сводка или фильтрация

В строке формул введите выражение DAX, которое фильтрует, суммирует или управляет моделью для хранения нужных строк. В этом примере продажи группируются по цвету и валюте.

=SUMMARIZECOLUMNS(DimProduct[Color]  
, DimCurrency[CurrencyName]   
, "Sales" , SUM(FactInternetSales[SalesAmount])  
)  

Суперсет с использованием столбцов из нескольких таблиц

В строке формул введите выражение DAX, которое объединяет столбцы из нескольких таблиц. В этом случае выходные данные запроса содержат категорию продукта для каждой валюты.

=CROSSJOIN(DimProductCategory, DimCurrency)  

См. также

Уровень совместимости
Выражения анализа данных (DAX) в Analysis Services
Общие сведения о DAX в табличных моделях