Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste tutorial de ponta a ponta, você criará um exemplo de fluxo de tarefas transanalítico que escreve de volta para um Banco de Dados SQL no Fabric. Para ajudar a ilustrar a experiência de aprimoramento de ponta a ponta, nos concentramos em um fluxo de tarefas integradas para um cenário de anotação de dados.
Neste tutorial, você aprenderá como:
- Crie um banco de dados SQL no Fabric.
- Configure uma função de dados do usuário que grava de volta em um banco de dados SQL.
- Integre uma função de dados do usuário a um relatório do Power BI.
Se você não tiver uma capacidade existente do Fabric, inicie uma avaliação do Fabric.
Observação
O recurso de fluxo de tarefas translytical está atualmente em versão prévia pública.
Pré-requisitos
- Habilite os recursos de visualização necessários no Power BI e no Fabric.
- Ative o banco de dados SQL no Fabric usando as configurações de locatário no portal de administração.
- Power BI Desktop. Se você não tiver o Power BI Desktop instalado em seu dispositivo, siga as instruções em Obter o Power BI Desktop.
Visão geral
A criação de um fluxo de tarefas translítico requer três tarefas para habilitar seus cenários automatizados:
Armazenar dados
Comece com uma fonte de dados existente do Fabric. Neste tutorial, usamos um banco de dados SQL com dados de exemplo.
Desenvolver dados
Escreva uma função de dados de usuário do Fabric que é chamada de um relatório do Power BI. Essa função pode realizar qualquer número de ações, desde editar a fonte de dados do relatório até enviar uma notificação até criar um item de trabalho em um pipeline de aprovações. Neste tutorial, criamos uma função de dados do usuário que usa uma nova descrição do produto e a grava no banco de dados SQL.
Visualizar dados
Crie um relatório do Power BI que exibe os dados de origem e elementos interativos que chamam a função de dados. Neste tutorial, usamos uma segmentação de texto para coletar a descrição do produto do usuário e enviá-la para a função de dados do usuário. Em seguida, o relatório é atualizado para mostrar a tabela atualizada.
Criar um Banco de Dados SQL
Esse cenário usa o conjunto de dados AdventureWorksLT de exemplo no banco de dados SQL.
Siga as etapas em Criar um banco de dados SQL no portal do Fabric.
Anote o nome que você dá ao banco de dados SQL. Você usará esse valor mais adiante no tutorial.
Depois de criar o banco de dados, escolha a opção De exemplo de dados para carregar os dados de exemplo AdventureWorksLT em seu banco de dados vazio.
Criar uma função de dados do usuário
Crie uma função de dados do usuário em um workspace.
Navegue até o workspace de sua escolha no Power BI ou Fabric.
Selecione Novo item.
Selecione Funções de dados do usuário (versão prévia) no grupo Desenvolver dados .
Forneça um nome para a nova função de dados do usuário, por exemplo , sqlwriteback e selecione Criar.
Anote o nome usado e o nome do workspace. Você usará esses dois valores mais adiante no tutorial.
Selecione Nova função.
Conectar-se ao banco de dados SQL
Conecte a função de dados do usuário ao banco de dados SQL criado anteriormente. Verifique se você tem permissões de acesso para o banco de dados SQL antes de continuar.
Selecione Gerenciar conexões na página da nova função de dados do usuário.
Selecione Adicionar conexão de dados.
Selecione o banco de dados SQL AdventureWorksLT criado anteriormente e selecione Conectar.
Quando a conexão é criada, um alias é criado automaticamente para a conexão. Anote o valor do Alias a ser usado posteriormente no tutorial.
Feche a página Conexões para retornar à função de dados do usuário.
Adicionar código de função
Adicione código à função de dados do usuário para que ele grave dados na tabela [SalesLT].[ProductDescription]
no exemplo AdventureWorksLT do banco de dados SQL.
As funções de dados do usuário usam pyodbc por padrão para conexões SQL e recomendamos essa biblioteca para esse cenário.
Para conectar uma função de dados do usuário a um botão do Power BI, a função deve retornar uma cadeia de caracteres.
Substitua o código padrão na função de dados do usuário pelo seguinte exemplo:
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"
Localize a seguinte linha de código no exemplo:
@udf.connection(argName="sqlDB",alias="<REPLACE_WITH_CONNECTION_ALIAS>")
Substitua o marcador de alias pelo valor do alias da seção anterior.
Você pode abrir a página Gerenciar conexões novamente para exibir o alias de conexão.
Testar o código de exemplo
Use as etapas nesta seção se desejar testar o código de exemplo até agora.
Selecione Publicar.
Depois que a função for publicada, passe o mouse sobre a função write_one_to_sql_db no menu do Gerenciador de Funções e selecione o ícone Executar .
Na página Executar , forneça dados de exemplo para os dois parâmetros necessários:
- productDescription: cadeia de caracteres
- productModelId: inteiro entre 1 e 127
Selecione Executar.
Examine a saída da função e os logs gerados.
Feche a página Executar quando terminar de testar.
Se você receber erros ao executar o código de exemplo, verifique se sua conta tem permissões de acesso ao banco de dados.
Conceder permissões de usuário (opcional)
Se outros usuários interagirem com o relatório do Power BI que chama essa função, conceda a eles permissões executar funções .
Na página de funções, selecione Compartilhar.
Selecione a primeira caixa da janela Criar e enviar link pop-up.
Selecione Executar Funções e Exibir Logs de Funções na lista de permissões adicionais e selecione Aplicar.
Na caixa Inserir um nome ou endereço de email , forneça aos usuários ou grupos que você deseja ter permissões para essa função.
Selecione Enviar.
Criar um relatório do Power BI
Nesta seção, você criará um relatório do Power BI que extrai dados do banco de dados SQL criado na seção anterior.
Conectar-se ao banco de dados SQL
Conecte-se ao banco de dados SQL como a fonte de dados do relatório.
No Power BI Desktop, crie um novo relatório.
Selecione Catálogo do OneLake>banco de dados SQL.
Na janela do catálogo do OneLake , selecione o banco de dados que você criou na seção anterior. Por exemplo, AdventureWorksLT. Em seguida, selecione Conectar.
Siga todas as instruções para autenticar no banco de dados.
Depois que você se conectar com êxito ao banco de dados, a janela Navegador será aberta. Selecione as tabelas a seguir e, em seguida, selecione Carregar:
SalesLT.ProductDescription
SalesLT.ProductModel
SalesLT.ProductModelProductDescription
Quando solicitado, escolha DirectQuery como o modo de conexão e selecione Ok.
O modo DirectQuery é uma conexão dinâmica que permite que o relatório atualize os dados e reflita as modificações de dados. Para obter mais informações, consulte DirectQuery no Power BI.
Criar o relatório do Power BI
Nesta seção, crie visuais com os dados que você carregou no relatório do Power BI.
No menu Dados , selecione as seguintes colunas:
SalesLT.ProductModel
>Name
SalesLT.ProductModelProductDescription
>ProductModelID
Uma tabela de duas colunas aparece na janela do relatório.
No menu Visualizações , selecione o ícone de segmentação de texto .
Dica
Se você não vir o ícone de segmentação de texto, verifique se o recurso de visualização da segmentação de texto está habilitado no Power BI Desktop. Para obter mais informações, consulte os recursos de visualização necessários.
Uma visualização de segmentação de texto aparece na janela do relatório.
Selecione a segmentação de texto e use as opções Formato visual>Geral>Título para dar à segmentação de texto o seguinte título:
Write a new product description
.Na barra de tarefas, selecione o menu Inserir e adicione um botão Em branco ao relatório. Arraste o botão sob o fatiador de texto.
Selecione o botão e expanda as opções de ação no painel de botão Formatar . Defina o botão de opção Ação para Ativado.
Forneça os seguintes valores para o botão:
Parâmetro Valor Tipo Selecionar função de Dados Área de trabalho Selecione o espaço de trabalho que contém a função de dados de usuário que você criou na seção anterior. Conjunto de funções Selecione o conjunto de funções que contém sua função de dados. Por exemplo, sqlwriteback. Função de dados Selecione sua função de dados. Por exemplo, write_one_to_sql_db. Dica
Se você não vir a opção função de dados, verifique se o recurso de visualização de fluxos de tarefa Translytical está habilitado no Power BI Desktop.
Se você vir a opção função Dados , mas não vir a função de dados do usuário, verifique se a função de dados retorna uma cadeia de caracteres.
Depois de selecionar sua função de dados, mais parâmetros aparecerão para representar os parâmetros que a função usa. Forneça os seguintes valores:
Parâmetro Valor productDescription Selecione o fatiador de texto do relatório, Escreva uma nova descrição do produto. productModelId Selecione o botão formatação condicional (fx). Uma nova janela é aberta.
Para o parâmetro estilo de formato, mantenha o valor de campo padrão.
Para o campo Em que devemos basear isso? parâmetro, selecione Todos os dados>SalesLT.ProductModel>ProductModelID.Resumo Selecione Máximo. Selecione OK para concluir a configuração de ação. Os detalhes da ação devem ser semelhantes ao seguinte exemplo:
Selecione o botão e expanda as opções Estilo no painel de botão Formatar . Ative o botão de opção Textoe rotule o botão
Enter
.Nas opções de Estilo, altere a opção Aplicar configurações em para Carregar.
O estado de carregamento é um estado exclusivo disponível para botões de função de dados que você pode usar para definir opções de estilo que aparecem enquanto a função de dados está em execução.
Expanda o menu Texto e substitua o valor do texto do botão por
Submitting
.Expanda o menu Ícone .
Por padrão, um botão de função de dados tem um tipo de ícone Spinner para o estado de carregamento.
Ajuste o estilo do ícone com as seguintes alterações:
Parâmetro Valor Margem Altere o preenchimento esquerdo para 20 px
.Tamanho do ícone Substitua o valor automático padrão por 20
.No painel Visualizações , selecione o ícone Tabela para inserir uma nova tabela.
No painel Dados , selecione as seguintes colunas a serem adicionadas à tabela:
SalesLT.ProductModel
>Name
SalesLT.ProductDescription
>Description
SalesLT.ProductDescription
>ModifiedDate
Modificações de relatório opcionais
Assim como acontece com qualquer relatório do Power BI, há várias maneiras de personalizar a aparência e melhorar a funcionalidade deste relatório. Considere algumas destas opções:
- Adicione títulos às duas tabelas. Por exemplo, selecione um produto e umadescrição do produto.
- Defina o cortador de texto para limpar automaticamente após enviar uma nova descrição do produto. Para fazer isso, selecione o botão que dispara a função de dados do usuário. No menu Ação do botão de Formatar>, defina o alternador Limpar Automático como Ligado.
- Recusar a autorefresh para o relatório depois de disparar a função de dados do usuário. Nesse cenário, é útil atualizar os dados e ver a nova descrição do produto aparecer na tabela. Em outros cenários, talvez você não precise ou queira atualizar o relatório. Para desativar essa configuração, selecione o botão que dispara a função de dados do usuário. No menuAção do botão> Formatar, defina a opção Atualizar o relatório após uma alternância de resultado bem-sucedida para Desativada.
Execute o fluxo de tarefas translytical
Você pode testar a funcionalidade do fluxo de tarefas translíticas no Power BI Desktop. Mas se você quiser ver a experiência mais precisa do usuário final, publique o relatório no serviço do Power BI e teste-o na Web.
Publicar seu relatório
Você criou seu relatório no Power BI Desktop. Nesta seção, você publicará o relatório para que os usuários possam interagir com ele no portal da Web.
No menu Barra de ferramentas Página Inicial , selecione Publicar.
Selecione o workspace do Power BI no qual deseja publicar este relatório e selecione Selecionar.
Depois que o relatório terminar de publicar, selecione o link para Abrir <REPORT_NAME.pbix> no Power BI.
Dica
Ao abrir o relatório no portal da Web do Power BI, você poderá ver um erro que diz que a fonte de dados não tem credenciais e não pode ser acessada. Para resolver esse erro, use as seguintes etapas:
- Abra o modelo semântico do relatório e navegue atéAs Configuraçõesde Arquivo>.
- Expanda a configuração Credenciais da fonte de dados se ainda não estiver.
- Selecione Editar credenciais.
- Escolha seu método de Autenticação no menu suspenso. Por exemplo, o Basic usa um nome de usuário e uma senha, e o OAuth2 habilita o logon único com sua conta atual.
- Forneça as informações necessárias, se houver, selecione Entrar.
Agora, você tem um fluxo de tarefas translítico em um relatório do Power BI que está disponível no serviço do Power BI.
Execute o fluxo de tarefas translytical.
Nesta seção, você interage com seu relatório no portal da Web do Power BI para testar o fluxo de tarefas translyticais que você criou.
Somente usuários autorizados a disparar funções de dados podem usar esse recurso. Todos os usuários não autorizados recebem uma resposta errada .
- Abra seu relatório no Power BI.
- Selecione um produto na tabela do produto que lista o nome e a ID. Essa seleção passa o contexto para a segmentação de texto para qual produto você deseja atualizar. Você também vê que a tabela de descrição do produto filtra para mostrar todas as descrições atuais do produto selecionado.
- Escreva uma nova descrição do produto na caixa de texto de entrada.
- Selecione o ícone de seta ou use a tecla Tab para enviar a entrada. Depois que um produto é selecionado e uma descrição é fornecida, você vê que o botão alterna para um estado habilitado.
- Selecione o botão para executar a função de dados do usuário.
Se o fluxo de tarefas translítico funcionar corretamente, você receberá uma mensagem informando que a ação em seu relatório foi enviada com êxito. A tabela de descrição do produto é atualizada para mostrar a nova descrição.
Se algo der errado com o fluxo de tarefas translítico, você receberá uma mensagem informando que algo deu errado. Selecione Exibir detalhes para obter mais informações sobre o motivo da falha. Alguns motivos comuns para uma execução de função malsucedida incluem:
- Validação de dados: os valores de entrada não atendem às regras de validação de dados definidas na função de dados do usuário.
- Erro de tempo limite: uma função ou processo leva mais tempo do que o tempo permitido para ser concluído.
- Configuração inadequada: erros ao configurar os elementos do relatório, geralmente o botão, podem causar falha no fluxo de tarefas ou resultados inesperados do produto.
- Usuário não autorizado: o usuário não tem permissões para disparar a função de dados.
Próximas etapas
- Para obter ideias para fluxos de tarefas translyticais que você pode incorporar em seus fluxos de trabalho, consulte exemplos de fluxo de tarefas translyticais.
- Para saber mais sobre as opções para integrar botões de função de dados em relatórios do Power BI, consulte Criar um botão de função de dados no Power BI.