Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом комплексном руководстве вы создадите пример транслитического потока задач, записываемого обратно в базу данных SQL в Fabric. Чтобы иллюстрировать комплексный этап работы, мы сосредоточимся на транслитических потоках задач для сценария заметки данных.
В этом руководстве вы узнаете, как:
- Создайте базу данных SQL в Fabric.
- Настройте функцию данных пользователя, которая записывает обратно в базу данных SQL.
- Интеграция функции данных пользователя с отчетом Power BI.
Если у вас нет существующей емкости Fabric, запустите пробную версию Fabric.
Предпосылки
- Power BI Desktop Если на устройстве не установлен Power BI Desktop, следуйте инструкциям в статье Get Power BI Desktop.
Обзор
Для создания транслитического потока задач требуется три задачи для включения автоматизированных сценариев:
Хранение данных
Начните с существующего источника данных Fabric. В этом руководстве мы используем базу данных SQL с примерами данных.
Разработка данных
Напишите функцию данных пользователя Fabric, которая вызывается из отчета Power BI. Эта функция может выполнять любое количество действий, от редактирования источника данных отчета до отправки уведомления о создании рабочего элемента в конвейере утверждений. В этом руководстве мы создадим функцию данных пользователя, которая принимает новое описание продукта и записывает его в базу данных SQL.
Визуализация данных
Создайте отчет Power BI, отображающий исходные данные и интерактивные элементы, вызывающие функцию данных. В этом руководстве мы используем входной слайсер для сбора описания продукта от пользователя и отправки его в функцию обработки данных пользователя. Затем отчет обновляется, чтобы отобразить обновленную таблицу.
Создание базы данных SQL
В этом сценарии используется образец набора данных AdventureWorksLT в базе данных SQL.
Выполните действия, описанные в статье "Создание базы данных SQL" на портале Fabric.
Запишите имя, которое вы предоставляете базе данных SQL. Вы будeтe использовать это значение далее в руководстве.
После создания базы данных выберите параметр "Пример данных ", чтобы загрузить примеры данных AdventureWorksLT в пустую базу данных.
Создание функции данных пользователя
Создайте функцию данных пользователя в рабочей области.
Перейдите к выбранной рабочей области в Power BI или Fabric.
Выберите Новый элемент.
Выберите функции пользовательских данных из группы данных "Разработка ".
Укажите имя новой функции данных пользователя, например sqlwriteback, а затем нажмите кнопку "Создать".
Запишите используемое имя и имя рабочей области. Вы будете использовать оба этих значения позже в руководстве.
Выберите новую функцию.
Подключение к базе данных SQL
Подключите функцию данных пользователя к созданной ранее базе данных SQL. Прежде чем продолжить, убедитесь, что у вас есть разрешения на доступ к базе данных SQL.
Выберите "Управление подключениями " на странице для новой функции данных пользователя.
Выберите "Добавить подключение к данным".
Выберите созданную ранее базу данных AdventureWorksLT SQL, а затем нажмите кнопку Connect.
При создании соединения для него автоматически создается псевдоним. Запишите значение Псевдонима , которое будет использоваться далее в руководстве.
Закройте страницу "Подключения" , чтобы вернуться к функции пользовательских данных.
Добавление кода функции
Добавьте код в функцию пользовательских данных, чтобы она записывала данные в таблицу [SalesLT].[ProductDescription] в примере AdventureWorksLT базы данных SQL.
Функции пользовательских данных используют pyodbc по умолчанию для подключений SQL, и мы рекомендуем использовать эту библиотеку для этого сценария.
Чтобы подключить функцию данных пользователя к кнопке Power BI, функция должна вернуть строку.
Замените код по умолчанию в функции данных пользователя следующим примером:
import fabric.functions as fn import uuid udf = fn.UserDataFunctions() @udf.connection(argName="sqlDB",alias="<REPLACE_WITH_CONNECTION_ALIAS>") @udf.function() # Take a product description and product model ID as input parameters and write them back to the SQL database # Users will provide these parameters in the PowerBI report def write_one_to_sql_db(sqlDB: fn.FabricSqlConnection, productDescription: str, productModelId:int) -> str: # Error handling to ensure product description doesn't go above 200 characters if(len(productDescription) > 200): raise fn.UserThrownError("Descriptions have a 200 character limit. Please shorten your description.", {"Description:": productDescription}) # Establish a connection to the SQL database connection = sqlDB.connect() cursor = connection.cursor() # Insert data into the ProductDescription table insert_description_query = "INSERT INTO [SalesLT].[ProductDescription] (Description) OUTPUT INSERTED.ProductDescriptionID VALUES (?)" cursor.execute(insert_description_query, productDescription) # Get the result from the previous query results = cursor.fetchall() # In real-world cases, call an API to retrieve the cultureId # For this example, generate a random Id instead cultureId = str(uuid.uuid4()) # Insert data into the ProductModelProductDescription table insert_model_description_query = "INSERT INTO [SalesLT].[ProductModelProductDescription] (ProductModelID, ProductDescriptionID, Culture) VALUES (?, ?, ?);" cursor.execute(insert_model_description_query, (productModelId, results[0][0], cultureId[:6])) # Commit the transaction connection.commit() cursor.close() connection.close() return "Product description was added"Найдите следующую строку кода в примере:
@udf.connection(argName="sqlDB",alias="<REPLACE_WITH_CONNECTION_ALIAS>")Замените заполнитель псевдонима значением псевдонима из предыдущего раздела.
Вы можете снова открыть страницу "Управление подключениями" , чтобы просмотреть псевдоним подключения.
Тестирование примера кода
Выполните действия, описанные в этом разделе, если вы хотите протестировать пример кода на данный момент.
Выберите Опубликовать.
После публикации функции наведите указатель мыши на функцию write_one_to_sql_db в меню обозревателя функций , а затем щелкните значок запуска .
На странице "Запуск " укажите примеры данных для двух обязательных параметров:
- productDescription: string
- productModelId: целое число от 1 до 127
Выберите Выполнить.
Просмотрите выходные данные функции и созданные журналы.
Закройте страницу запуска после завершения тестирования.
Если при запуске примера кода возникают ошибки, убедитесь, что у вашей учетной записи есть разрешения на доступ к базе данных.
Предоставление разрешений пользователей (необязательно)
Если другие пользователи взаимодействуют с отчетом Power BI, который вызывает эту функцию, предоставьте им разрешения на выполнение функций .
На странице функций выберите "Общий доступ".
Выберите первое поле всплывающего окна "Создать и отправить ссылку ".
Выберите "Выполнить функции" и "Просмотреть журналы функций " в списке дополнительных разрешений , а затем нажмите кнопку "Применить".
В поле "Введите имя или адрес электронной почты " укажите пользователей или группы, которым требуется предоставить разрешения для этой функции.
Выберите Отправить.
Создание отчета Power BI
В этом разделе вы создадите отчет Power BI, который извлекает данные из базы данных SQL, созданной в предыдущем разделе.
Подключение к базе данных SQL
Подключитесь к базе данных SQL в качестве источника данных для отчета.
В Power BI Desktop создайте отчет.
Выберите каталог OneLake>базу данных SQL.
В окне каталога OneLake выберите базу данных, созданную в предыдущем разделе. Например, AdventureWorksLT. Затем нажмите кнопку "Подключить".
Следуйте любым запросам для проверки подлинности в базе данных.
После успешного подключения к базе данных откроется окно навигатора . Выберите следующие таблицы, а затем нажмите кнопку "Загрузить".
SalesLT.ProductDescriptionSalesLT.ProductModelSalesLT.ProductModelProductDescription
При появлении запроса выберите DirectQuery в качестве режима подключения, а затем нажмите кнопку "ОК".
Режим DirectQuery — это динамическое подключение, которое позволяет отчету обновлять данные и отражать любые изменения данных. Дополнительные сведения см. в разделе DirectQuery в Power BI.
Создание отчета Power BI
В этом разделе показано, как создать визуальные элементы с данными, загруженными в отчет Power BI.
В меню "Данные" выберите следующие столбцы:
SalesLT.ProductModel>NameSalesLT.ProductModelProductDescription>ProductModelID
В окне отчета появится таблица с двумя столбцами.
В меню "Визуализации" выберите значок среза ввода .
В окне отчета появится визуальный элемент входного среза.
Выберите слайсер ввода и используйте параметры оформления визуального элемента в разделе Формат>Общие>Заголовок, чтобы задать слайсеру ввода следующий заголовок:
Write a new product description.На панели задач выберите меню "Вставка " и добавьте в отчет пустую кнопку. Перетащите кнопку под срезчик текста.
Нажмите кнопку и разверните параметры действия в области "Формат". Включите переключатель радио «Действие» в положение «Включено».
Укажите следующие значения для кнопки:
Параметр Ценность Тип Выбор функции "Данные" Рабочая область Выберите рабочую область, содержащую функцию данных пользователя, созданную в предыдущем разделе. Набор функций Выберите набор функций, содержащий функцию данных. Например, sqlwriteback. Функция данных Выберите функцию данных. Например, write_one_to_sql_db. Подсказка
Если функция данных пользователя не отображается, убедитесь, что функция данных возвращает строку.
Выбрав функцию данных, отображаются дополнительные параметры, которые принимает функция. Укажите следующие значения:
Параметр Ценность productDescription Выберите срез текста из отчета, напишите новое описание продукта. productModelId Нажмите кнопку условного форматирования (fx). Откроется новое окно.
Для параметра стиля "Формат " сохраните значение поля по умолчанию.
Для параметра "На каком поле мы должны это основывать?" выберите "Все данные">, SalesLT.ProductModel>, ProductModelID.Резюмирование Выберите максимальное значение. Нажмите кнопку "ОК ", чтобы завершить настройку действия. Сведения о действии должны выглядеть следующим образом:
Нажмите кнопку и разверните параметры стиля в области «Формат». Включите радио кнопку Текст в положение Включено и присвойте вашей кнопке метку
Enter.В параметрах стиля измените Применить настройки для на Загрузка.
Состояние загрузки — это уникальное состояние, доступное для кнопок функции данных, которые можно использовать для определения параметров стиля, которые отображаются во время выполнения функции данных.
Разверните меню "Текст " и замените текстовое значение
Submittingкнопки на .Разверните меню «Значок».
По умолчанию кнопка функции данных имеет тип значка Spinner для состояния загрузки.
Измените стиль значка со следующими изменениями:
Параметр Ценность Набивочный материал Измените левое заполнение на 20 px.Размер значка Замените значение авто по умолчанию на 20.На панели "Визуализации" выберите значок таблицы , чтобы вставить новую таблицу.
В области данных выберите следующие столбцы, которые нужно добавить в таблицу:
SalesLT.ProductModel>NameSalesLT.ProductDescription>DescriptionSalesLT.ProductDescription>ModifiedDate
Необязательные изменения отчета
Как и в любом отчете Power BI, существует множество способов настройки внешнего вида и улучшения функциональности этого отчета. Рассмотрим некоторые из следующих вариантов:
- Добавьте заголовки в две таблицы. Например, выберите продукт и описание продукта.
- Установите для текстового резака функцию автоочистки после отправки описания нового продукта. Для этого нажмите кнопку, которая активирует функцию данных пользователя. В меню "Действие", в кнопке ">", установите переключатель "Автосброс" в положение "Вкл.".
- После активации функции пользовательских данных отключите автоматическое обновление отчета. В этом сценарии полезно обновить данные и увидеть новое описание продукта в таблице. В других сценариях может не потребоваться или не требуется обновлять отчет. Чтобы отключить этот параметр, нажмите кнопку, которая активирует функцию данных пользователя. В меню Формат, нажмите кнопку > и установите переключатель Обновить отчет после успешного завершения в положение Выключено.
Запуск транслитического потока задач
Вы можете протестировать функциональные возможности транслитического потока задач в Power BI Desktop. Но если вы хотите увидеть наиболее точный интерфейс пользователя, опубликуйте отчет в службе Power BI и протестируйте его в Интернете.
Публикация отчета
Вы создали отчет в Power BI Desktop. В этом разделе описано, как опубликовать отчет, чтобы пользователи могли взаимодействовать с ним на веб-портале.
В меню "Главная панель инструментов" выберите "Опубликовать".
Выберите рабочую область Power BI, в которой вы хотите опубликовать отчет, а затем нажмите кнопку "Выбрать".
После завершения публикации отчета выберите ссылку на Open <REPORT_NAME.pbix> в Power BI.
Подсказка
При открытии отчета на веб-портале Power BI может появиться ошибка, которая говорит, что источник данных отсутствует учетные данные и не может быть доступен. Чтобы устранить эту ошибку, выполните следующие действия.
- Откройте семантику модели отчета и перейдите кпараметрам>.
- Разверните параметр учетных данных источника данных , если он еще не установлен.
- Щелкните ссылку, чтобы изменить учетные данные.
- Выберите метод проверки подлинности в раскрывающемся меню. Например, Basic принимает имя пользователя и пароль, а OAuth2 включает единый вход с текущей учетной записью.
- Укажите необходимые сведения, если таковые есть, а затем нажмите кнопку "Войти".
Теперь у вас есть транслитический поток задач в отчете Power BI, который доступен в службе Power BI.
Запуск транслитического потока задач
В этом разделе вы взаимодействуете с отчетом на веб-портале Power BI для тестирования созданного транслитического потока задач.
Эту функцию могут использовать только пользователи, авторизованные для активации функций данных. Любые несанкционированные пользователи получают ответ "Что-то пошло не так ".
- Откройте отчет в Power BI.
- Выберите товар из таблицы товаров, в которой указаны наименование и идентификатор. Этот выбор передает контекст текстовому срезу, для которого нужно обновить продукт. Вы также увидите, что таблица с описанием продукта отфильтровывает данные, чтобы показать все текущие описания для выбранного продукта.
- Напишите новое описание продукта в текстовом поле ввода.
- Щелкните значок со стрелкой или используйте клавишу TAB для отправки входных данных. После выбора продукта и предоставления описания вы увидите, что кнопка переключается на состояние включено.
- Нажмите кнопку, чтобы запустить функцию пользовательских данных.
Если поток транслитических задач работал правильно, вы получите сообщение о том, что действие в отчете успешно отправлено. Таблица описания продукта обновляется, чтобы отобразить новое описание.
Если что-то идет не так с транслитичным потоком задач, вы получите сообщение, которое говорит , что что-то пошло не так. Выберите "Просмотреть сведения" , чтобы получить дополнительные сведения о причине сбоя. Ниже приведены некоторые распространенные причины неудачного запуска функции:
- Проверка данных. Входные значения не соответствуют правилам проверки данных, определенным в функции пользовательских данных.
- Ошибка времени ожидания: функция или процесс занимает больше разрешённого времени для завершения.
- Неправильная настройка: Ошибки при конфигурировании элементов отчета, обычно кнопки, могут привести к сбою потока задач или к появлению неожиданных результатов.
- Неавторизованный пользователь: у пользователя нет разрешений на активацию функции данных.
Дальнейшие шаги
- Чтобы получить идеи для транслитических потоков задач, которые можно включить в рабочие процессы, см. примеры потоков транслитических задач.
- Дополнительные сведения о параметрах интеграции кнопок функций данных в отчеты Power BI см. в статье "Создание функции данных" в Power BI.