Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto kompletním kurzu vytvoříte příklad translytického toku úlohy, který zapisuje zpět do služby SQL Database v prostředcích infrastruktury. Abychom lépe ilustrovali komplexní zážitek z postupného vylepšení, zaměřujeme se na translytický tok úloh pro scénář anotace dat.
V tomto návodu se naučíte, jak:
- Vytvořte databázi SQL ve Fabric.
- Nakonfigurujte funkci dat uživatele, která zapisuje zpět do databáze SQL.
- Integrujte funkci uživatelských dat se sestavou Power BI.
Pokud nemáte existující kapacitu Fabric, spusťte zkušební verzi Fabric.
Požadavky
- Power BI Desktop. Pokud nemáte na svém zařízení nainstalovaný Power BI Desktop, postupujte podle pokynů v článku Získání Power BI Desktopu.
Přehled
Vytvoření translytického toku úlohy vyžaduje tři úlohy, které umožňují automatizované scénáře:
Uložit data
Začněte s existujícím zdrojem dat Fabric. V tomto kurzu používáme databázi SQL s ukázkovými daty.
Vývoj dat
Napište uživatelskou datovou funkci Fabric, která je volána z reportu v Power BI. Tato funkce může provádět libovolný počet akcí, od úprav zdroje dat sestavy přes odeslání oznámení až po vytvoření pracovní položky v procesu schvalování. V tomto kurzu vytvoříme funkci dat uživatele, která vezme nový popis produktu a zapíše ji do databáze SQL.
Vizualizujte data
Vytvořte sestavu Power BI, která zobrazuje zdrojová data a interaktivní prvky vyvolávající funkci dat. V tomto kurzu použijeme vstupní řezačku ke shromáždění popisu produktu od uživatele a jeho odeslání do funkce pro zpracování dat uživatele. Potom se sestava aktualizuje, aby se zobrazila aktualizovaná tabulka.
Vytvoření databáze SQL
Tento scénář používá ukázkovou datovou sadu AdventureWorksLT v databázi SQL.
Postupujte podle kroků v tématu Vytvoření databáze SQL na portálu Fabric.
Poznamenejte si název, který dáte databázi SQL. Tuto hodnotu použijete později v kurzu.
Po vytvoření databáze zvolte možnost Ukázková data pro načtení ukázkových dat AdventureWorksLT do prázdné databáze.
Vytvoření funkce uživatelských dat
Vytvoření funkce uživatelských dat v pracovním prostoru
Přejděte do pracovního prostoru dle vašeho výběru v Power BI nebo Fabric.
Vyberte Nová položka.
Ve skupině Vývoj dat vyberte funkce uživatelských dat.
Zadejte název nové funkce dat uživatele, například sqlwriteback, a pak vyberte Vytvořit.
Poznamenejte si název, který používáte, a název pracovního prostoru. Obě tyto hodnoty použijete později v kurzu.
Vyberte Nová funkce.
Připojení k databázi SQL
Připojte funkci dat uživatele k databázi SQL, kterou jste vytvořili dříve. Než budete pokračovat, ujistěte se, že máte přístupová oprávnění k databázi SQL.
Vyberte Možnost Spravovat připojení na stránce pro novou funkci dat uživatele.
Vyberte Přidat datové připojení.
Vyberte databázi SQL AdventureWorksLT , kterou jste vytvořili dříve, a pak vyberte Připojit.
Po vytvoření připojení se pro připojení automaticky vytvoří alias. Poznamenejte si hodnotu Alias , kterou použijete později v kurzu.
Zavřete stránku Připojení a vraťte se do funkce dat uživatele.
Přidání kódu funkce
Přidejte kód do funkce uživatelských dat, aby zapisoval data do tabulky [SalesLT].[ProductDescription] v ukázkové databázi SQL AdventureWorksLT.
Funkce uživatelských dat ve výchozím nastavení používají pro připojení SQL pyodbc a pro tento scénář doporučujeme tuto knihovnu.
Pokud chcete připojit funkci dat uživatele k tlačítku Power BI, musí funkce vrátit řetězec.
Nahraďte výchozí kód ve funkci uživatelských dat následujícím vzorem:
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"V ukázce vyhledejte následující řádek kódu:
@udf.connection(argName="sqlDB",alias="<REPLACE_WITH_CONNECTION_ALIAS>")Zástupný symbol aliasu nahraďte hodnotou aliasu z předchozí části.
Znovu můžete otevřít stránku Spravovat připojení a zobrazit alias připojení.
Testování ukázkového kódu
Pokud chcete zatím otestovat vzorový kód, postupujte podle kroků v této části.
Vyberte Publikovat.
Po publikování funkce najeďte myší na funkci write_one_to_sql_db v nabídce Průzkumníka funkcí a pak vyberte ikonu Spustit .
Na stránce Spustit zadejte ukázková data pro dva požadované parametry:
- productDescription: řetězec
- productModelId: celé číslo od 1 do 127
Vyberte Spustit.
Zkontrolujte výstup funkce a vygenerované protokoly.
Až dokončíte testování, zavřete stránku Spustit .
Pokud při spuštění ukázkového kódu dojde k chybám, zkontrolujte, jestli má váš účet přístupová oprávnění k databázi.
Udělení uživatelských oprávnění (volitelné)
Pokud jiní uživatelé pracují se sestavou Power BI, která tuto funkci volá, udělte jim oprávnění ke spouštění funkcí .
Na stránce funkcí vyberte Sdílet.
Vyberte první pole automaticky otevíraného okna Vytvořit a odeslat odkaz .
V seznamu Další oprávnění vyberte Spustit funkce a zobrazit protokoly funkcí a pak vyberte Použít.
Do pole Zadejte jméno nebo e-mailovou adresu zadejte uživatele nebo skupiny, ke kterým chcete mít oprávnění pro tuto funkci.
Vyberte Odeslat.
Vytvořte sestavu Power BI
V této části vytvoříte sestavu Power BI, která načítá data z databáze SQL, kterou jste vytvořili v předchozí části.
Připojení k databázi SQL
Připojte se k databázi SQL jako zdroj dat pro svůj report.
V Power BI Desktopu vytvořte novou sestavu.
Vyberte katalog OneLake>databázi SQL.
V okně katalogu OneLake vyberte databázi, kterou jste vytvořili v předchozí části. Například AdventureWorksLT. Pak vyberte Připojit.
Postupujte podle zobrazených výzev k ověření databáze.
Po úspěšném připojení k databázi se otevře okno Navigátor . Vyberte následující tabulky a pak zvolte Načíst:
SalesLT.ProductDescriptionSalesLT.ProductModelSalesLT.ProductModelProductDescription
Po zobrazení výzvy zvolte jako režim připojení DirectQuery a pak vyberte OK.
Režim DirectQuery je živé připojení, které umožňuje sestavě aktualizovat data a odrážet všechny úpravy dat. Další informace najdete v tématu DirectQuery v Power BI.
Sestavte sestavu Power BI
V této části sestavíte vizuály s daty, která jste načetli do sestavy Power BI.
V nabídce Data vyberte následující sloupce:
SalesLT.ProductModel>NameSalesLT.ProductModelProductDescription>ProductModelID
V okně sestavy se zobrazí tabulka se dvěma sloupci.
V nabídce Vizualizace vyberte ikonu vstupního průřezu .
Vizuál vstupního sliceru se zobrazí v okně sestavy.
Vyberte vstupní řezačku a pomocí možností Formát vizuálu>Obecné>Název dejte vstupní řezačce následující název:
Write a new product description.Na panelu nástrojů vyberte nabídku Vložit a přidejte do sestavy tlačítko Prázdné. Přetáhněte tlačítko pod textovým filtrem.
Vyberte tlačítko a rozbalte možnosti Akce v podokně Formát tlačítka. Přepněte přepínač Akce na Zapnuto.
Zadejte následující hodnoty tlačítka:
Parametr Hodnota Typ Výběr funkce Data Pracovní prostor Vyberte pracovní prostor, který obsahuje funkci dat uživatele, kterou jste vytvořili v předchozí části. Sada funkcí Vyberte sadu funkcí, která obsahuje vaše datové funkce. Například sqlwriteback. Datová funkce Vyberte svou datovou funkci. Například write_one_to_sql_db. Návod
Pokud nevidíte uživatelskou datovou funkci, ujistěte se, že vaše datová funkce vrací řetězec.
Po výběru datové funkce se zobrazí další parametry, které představují parametry, které funkce přebírá. Zadejte následující hodnoty:
Parametr Hodnota ProductDescription V sestavě vyberte textový filtr a napište nový popis produktu. productModelId Vyberte tlačítko Podmíněné formátování (fx). Otevře se nové okno.
U parametru Styl formátu ponechte výchozí hodnotu hodnoty pole .
V parametru Na čem bychom měli tento parametr založit? vyberte Všechna data>SalesLT.ProductModel>ProductModelID.Sumarizace Vyberte Maximum. Vyberte OK k dokončení konfigurace akce. Podrobnosti o akci by měly vypadat jako v následujícím příkladu:
Vyberte tlačítko a rozbalte možnosti stylu v podokně Tlačítka Formát . Zapněte přepínač Text na Zapnuto a označte tlačítko
Enter.V možnostech Styl přepněte možnost Použít nastavení naNačítání.
Stav načítání je jedinečný stav dostupný pro tlačítka datových funkcí, pomocí kterých můžete definovat možnosti stylu, které se zobrazí, když je datová funkce spuštěná.
Rozbalte nabídku Text a nahraďte text tlačítka hodnotou
Submitting.Rozbalte nabídku Ikona.
Ve výchozím nastavení má datové tlačítko typ ikony Točící kolečko pro stav načítání.
Upravte styl ikony následujícími změnami:
Parametr Hodnota Odsazení Změňte levé odsazení na 20 px.Velikost ikony Nahraďte výchozí hodnotu Auto hodnotou 20.V podokně Vizualizace vyberte ikonu Tabulka a vložte novou tabulku.
V podokně Data vyberte následující sloupce, které chcete přidat do tabulky:
SalesLT.ProductModel>NameSalesLT.ProductDescription>DescriptionSalesLT.ProductDescription>ModifiedDate
Volitelné úpravy zprávy
Stejně jako u jakékoli sestavy Power BI existuje mnoho způsobů, jak přizpůsobit vzhled a zlepšit funkčnost této sestavy. Zvažte některé z těchto možností:
- Přidejte názvy do dvou tabulek. Vyberte například produkt a popis produktu.
- Po odeslání nového popisu produktu nastavte průřez textu tak, aby se automaticky rozkláněl. Uděláte to tak, že vyberete tlačítko, které aktivuje funkci dat uživatele. V nabídce Akce tlačítka Formát nastavte přepínač Automatické vymazání na Zapnuto.
- Deaktivujte automatické obnovení u sestavy po aktivaci funkce uživatelských dat. V tomto scénáři je užitečné aktualizovat data a zobrazit nový popis produktu v tabulce. V jiných scénářích nemusíte ani chtít sestavu aktualizovat. Pokud chcete toto nastavení vypnout, vyberte tlačítko, které aktivuje funkci uživatelských dat. V nabídce tlačítka Formát>Akce nastavte přepínač Obnovit sestavu po úspěšném výsledku na Vypnuto.
Spusťte svůj translytické tok úloh
Funkce translytického toku úloh můžete otestovat v Power BI Desktopu. Pokud ale chcete zobrazit nejpřesnější uživatelskou zkušenost koncového uživatele, publikujte sestavu do služby Power BI a otestujte ji online.
Publikujte svou sestavu
Sestavu jste vytvořili v Power BI Desktopu. V této části publikujete sestavu, aby s ní mohli uživatelé interagovat na webovém portálu.
V nabídce Panel nástrojů Domů vyberte Publikovat.
Vyberte pracovní prostor Power BI, ve kterém chcete tuto sestavu publikovat, a pak vyberte Vybrat.
Po dokončení publikování sestavy vyberte odkaz na Otevřít <REPORT_NAME.pbix> v Power BI.
Návod
Když sestavu otevřete na webovém portálu Power BI, může se zobrazit chyba, že zdroji dat chybí přihlašovací údaje a není možné k němu přistupovat. Pokud chcete tuto chybu vyřešit, postupujte následovně:
- Otevřete sémantický model sestavy a přejděte do Soubor>Nastavení.
- Rozbalte nastavení přihlašovacích údajů ke zdroji dat , pokud ještě není.
- Vyberte Upravit přihlašovací údaje.
- V rozevírací nabídce zvolte metodu ověřování . Například Basic přebírá uživatelské jméno a heslo a OAuth2 umožňuje jednotné přihlašování pomocí aktuálního účtu.
- Zadejte požadované informace, pokud jsou k dispozici, a pak vyberte Přihlásit se.
Teď máte translytické pracovní postupy ve zprávě Power BI dostupné ve službě Power BI.
Spusťte svůj translytické tok úloh
V této části budete pracovat se svou sestavou na webovém portálu Power BI a testovat translytický tok úloh, který jste vytvořili.
Tuto funkci můžou používat jenom uživatelé, kteří mají oprávnění k aktivaci datových funkcí. Všichni neoprávnění uživatelé dostanou Něco se pokazilo odpověď.
- Otevřete sestavu v Power BI.
- V tabulce produktů vyberte produkt, který obsahuje název a ID. Tento výběr předá kontext textovému průřezu, pro který produkt chcete aktualizovat. Uvidíte také, že filtry tabulky popisů produktů zobrazují všechny aktuální popisy vybraného produktu.
- Do vstupního textového pole napište nový popis produktu.
- Vyberte ikonu šipky nebo pomocí klávesy Tab odešlete vstup. Jakmile je produkt vybraný a zobrazí se popis, uvidíte, že se tlačítko přepne do povoleného stavu.
- Výběrem tlačítka spusťte funkci uživatelských dat.
Pokud translytický tok úlohy fungoval správně, zobrazí se zpráva s informací že akce ve vaší sestavě byla úspěšně odeslána. Tabulka popisu produktu se aktualizuje, aby se zobrazil nový popis.
Pokud se s tokem translytického úkolu něco pokazí, zobrazí se zpráva s informací, že se něco nepovedlo. Pokud chcete získat další informace o příčině selhání, vyberte Zobrazit podrobnosti . Mezi běžné důvody neúspěšného spuštění funkce patří:
- Ověření dat: Vstupní hodnoty nesplňují pravidla ověření dat definovaná ve funkci uživatelská data.
- Chyba časového limitu: Dokončení funkce nebo procesu trvá déle než povolený čas.
- Nesprávné nastavení: Chyby při konfiguraci prvků sestavy, obvykle tlačítka, mohou způsobit selhání toku úlohy nebo neočekávané výsledky.
- Neoprávněný uživatel: Uživatel nemá oprávnění k aktivaci datové funkce.
Další kroky
- Pokud chcete získat nápady na translytické toky úloh, které můžete začlenit do pracovních postupů, podívejte se na příklady toku translytického úkolu.
- Další informace o možnostech integrace tlačítek datových funkcí do sestav Power BI najdete v tématu Vytvoření tlačítka datové funkce v Power BI.