Четыре основных различия между моделями данных Tableau и Power BI
Недавно Tableau выпустила логическую модель данных в версии 2020.2. Аналогичный семантический слой является ядром Microsoft Power BI с момента его создания. «Табличная» модель Power BI имеет общую историю с продуктами Microsoft, она появилась раньше самой Power BI (в Power Pivot для Excel и Analysis Services реализован тот же механизм, что и в Power BI).
Вот та же простая модель, определенная в Tableau (вверху), и в Power BI (внизу):
До 2020.2 в Tableau была физическая модель данных, которая позволяла объединять таблицы. Этот слой все еще есть, и он напоминает возможность слияния Power BI в Power Query для объединения нескольких таблиц в одну.
С введением логической модели в Tableau 2020.2 одна логическая таблица может состоять из одной или нескольких физических таблиц. Две или более логические таблицы могут быть связаны друг с другом. Такой подход имеет много общего с «табличной» моделью Microsoft, но сейчас у них есть определенные различия, которые могут повлиять на ваш подход к моделированию данных в одном инструменте в сравнении с другим. Применение знаний о том, как построить модель данных в одном продукте для построения модели в другом, не всегда будет хорошим решением.
ПРИМЕЧАНИЕ. В этой статье рассматриваются некоторые основные различия между моделированием в Tableau и Power BI по состоянию на июнь 2020 года. В ней не рассматриваются анонсированные особенности, такие как расширенные составные модели Power BI, которые появятся позже в 2020 году и позволят использовать такие сценарии, как объединение «живого соединения» с дополнительными источниками данных или даже с несколькими моделями живого соединения.
Вот четыре основных различия между логическим моделированием данных у Tableau и Power BI:
1) Несколько таблиц с фактами
Логическая модель Tableau, как ни странно, не поддерживает несколько таблиц с фактами, соединенными более чем с одним измерением.
В Power BI обычно строят модели данных с несколькими таблицами с фактами, они могут относиться к нескольким измерениям, например,
В документации Tableau есть раздел «неподдерживаемые модели», в котором предлагают возможные обходные пути, такие как объединение таблиц фактов в физические таблицы. Этот подход не идеален, но иногда работает. Однако этого совета о возможном перекрестном соединении измерений лучше избегать: «В качестве альтернативы, вы можете перекрестно объединить дату и клиента для создания единой таблицы измерений». Если вы уважаете тех, кто будет использовать или поддерживать вашу модель, пожалуйста, не объединяйте все свои измерения. Надеюсь, что в ближайшей версии Tableau будет поддерживать более надежные модели данных с несколькими таблицами фактов.
2) Определение отношений с несколькими полями
Tableau позволяет разработчикам моделей данных определять отношения в нескольких полях. Табличная модель Power BI допускает только отношения, определяемые одним полем (и ситуация не изменится в ближайшее время).
Если необходимо определить связь для нескольких полей в Power BI, в качестве временного решения необходимо вручную создать составной ключ путем объединения полей. Например, если вам нужно создать географическую связь на основе страны и штата, вы в конечном итоге создаете составной ключ со значениями, такими как «USAMichigan», вместо того, чтобы связывать поля страны и штата по отдельности.
Разработчикам моделей, которые работали с табличным движком Microsoft, такое может не понравиться, но мы к этому привыкли. Приятно видеть, что Tableau предлагает удобную альтернативу. Если кто-то начинает работать с Tableau, и затем ему нужно построить модель в Power BI, принудительные решения с одним ключом могут вызвать некоторую путаницу.
3) Активные и неактивные отношения
И Tableau, и Power BI допускают единую активную связь между таблицами. Кроме того, Power BI допускает наличие нескольких неактивных связей между одними и теми же таблицами. Меры, определенные с помощью DAX, могут использовать эти неактивные отношения и при необходимости переопределять активные отношения по умолчанию, но такое бывает нечасто.
Распространенный сценарий – несколько дат в таблице фактов. В Power BI чаще всего вы увидите настройку ролевых измерений с несколькими измерениями даты вместо мер, использующих неактивные отношения (пунктирная линия на скриншоте ниже). Они есть, если нужно, хотя Tableau не допускает множественных связей между таблицами.
4) Двунаправленные отношения
В отношении «один ко многим» Power BI позволяет фильтровать одну сторону ко многим (одно направление), а также от многих сторон к одной (оба направления). Кроме некоторых особых случаев обычно не рекомендуют использовать двунаправленные отношения в Power BI, поскольку они могут дать непредвиденные результаты, если в модели есть несколько таблиц фактов с общими измерениями. Есть случайные преимущества в установке направления отношений в обе стороны, хотя и ограниченные.