Изменение сценария T-SQL таблицы Power BI без добавления или удаления из модели

Tags: Power BI, PowerBI, Power Query, T-SQL

Если вы использовали запросы T-SQL для построения таблиц вашей модели данных Power BI, вы, вероятно, уже догадываетесь, о чем пойдет речь в этой статье. Иногда через некоторое время, используя запрос в модели Power BI, вы можете изменить сценарий и захотеть применить это изменение в модели данных. Один из распространенных способов использования (который не является правильным) - удалить таблицу и снова добавить ее, используя скрипт. Это может привести к потере всех вычисляемых столбцов, мер DAX, отношений, возможных иерархий и всего, что нужно для моделирования этой таблицы. Вместо этого вы можете легко изменить сценарий существующей таблицы. В этой статье мы покажем вам, как это сделать. 

Использование сценариев T-SQL в качестве источника в Power BI

Если вы подключаетесь к базе данных SQL Server или к любым другим системам реляционных баз данных (таким как Oracle, MySQL, DB2 и т. д.), вы можете использовать сценарий T-SQL в качестве источника отчета Power BI. Все, что вам нужно сделать, это получить данные, выбрать правильный тип источника данных (в данном примере это SQL Server):

После ввода сервера и базы данных, вы можете выбрать Advanced Options, а затем ввести оператор там SQL:

Существует также режим подключения к данным, который можно выбрать как DirectQuery или Import, в зависимости от архитектуры, которую вы используете для Power BI.

Проблема при удалении или добавлении

Теперь давайте посмотрим, в чем заключается проблема, если вы хотите внести изменения. Допустим, таблица, созданная с помощью приведенного выше сценария, использовалась в модели данных, как показано ниже, с кучей взаимосвязей.

А также она имеет некоторые расчеты DAX;

Теперь, если вы решите внести изменения в оператор SQL (скажем, удалить или добавить столбец, или внести изменения где-нибудь в скрипте), то вы получите новый скрипт:

 

Кто-то из вас возможно скажет, почему бы не использовать Power Query для изменения данных? Многие предпочитают писать операторы T-SQL, чем делать что-либо в Power Query, и в этой статье мы бы хотели сосредоточиться на них, поэтому давайте посмотрим, как это будет выглядеть с их точки зрения.

В Power BI Desktop нет места для изменения сценария SQL существующей таблицы, поэтому вы можете продолжить удаление таблицы и добавить ее снова. Это означает потерю всех связей с другими таблицами, вычислениями DAX, иерархиями и любыми другими конфигурациями моделирования. И затем, добавив ееснова, вам, вероятно, потребуется заново выполнить все те изменения, которые легко займут часы или дни вашего времени.

Но есть лучший способ сделать это, давайте посмотрим.

Измените запрос

Power Query является компонентом преобразования данных Power BI. Все, что входит в модель данных Power BI, поступает через Power Query. В преобразованиях Power Query есть шаг для чтения данных из источника и другие шаги для применения преобразований к нему. Все, что вам нужно сделать, это найти, где находится шаг, который считывает данные из вашего оператора SQL. И тогда вы можете изменить его там. Вот простой способ сделать это:

Перейдите в Query Editor на вкладке Home в Power BI Desktop:

 

В Power Query Editor (который отличается от окна Power BI Desktop) щелкните имя таблицы, для которой вы хотите изменить ее SQL-оператор.

Затем в правой части, в разделе Applied Steps, найдите шаг Source (самый первый шаг в этом списке) и щелкните значок настройки рядом с ним.

Это будет конфигурация самого первого шага, когда вы читаете данные из этого источника данных, который в этом случае будет местом для ввода оператора SQL. Вставьте здесь измененный оператор SQL и нажмите кнопку ОК.

 

Теперь вы увидите, что изменение применяется в редакторе запросов. В качестве последнего шага перейдите на вкладку Home в Power Query Editor и нажмите Close & Apply.

 

Вот и все. Вы изменили свою инструкцию T-SQL и таблицу, не добавляя / удаляя ее и выполняя много работы заново. Все это с помощью Power Query. Все ваши отношения, расчеты и конфигурации моделирования все еще там нетронуты!

 

Power Query - это темная сторона силы. И темная сторона силы - это путь ко многим возможностям, о которых вы, возможно, не знаете.

No Comments

Add a Comment