Kurz: Vytvoření translytického toku úlohy

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

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.

  1. 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.

  2. 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

  1. Přejděte do pracovního prostoru dle vašeho výběru v Power BI nebo Fabric.

  2. Vyberte Nová položka.

  3. Ve skupině Vývoj dat vyberte funkce uživatelských dat.

    Snímek obrazovky znázorňující dlaždici funkcí uživatelských dat v nabídce nové položky

  4. 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.

  5. 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.

  1. Vyberte Možnost Spravovat připojení na stránce pro novou funkci dat uživatele.

    Snímek obrazovky znázorňující výběr možnosti Spravovat připojení na stránce funkcí

  2. Vyberte Přidat datové připojení.

  3. Vyberte databázi SQL AdventureWorksLT , kterou jste vytvořili dříve, a pak vyberte Připojit.

  4. Po vytvoření připojení se pro připojení automaticky vytvoří alias. Poznamenejte si hodnotu Alias , kterou použijete později v kurzu.

    Snímek obrazovky, který ukazuje, kde najít automaticky vygenerovaný alias datového připojení

  5. 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.

  1. 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" 
    
  2. V ukázce vyhledejte následující řádek kódu:

    @udf.connection(argName="sqlDB",alias="<REPLACE_WITH_CONNECTION_ALIAS>")
    
  3. 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.

  1. Vyberte Publikovat.

  2. 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 .

  3. Na stránce Spustit zadejte ukázková data pro dva požadované parametry:

    • productDescription: řetězec
    • productModelId: celé číslo od 1 do 127
  4. Vyberte Spustit.

  5. Zkontrolujte výstup funkce a vygenerované protokoly.

  6. 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í .

  1. Na stránce funkcí vyberte Sdílet.

  2. Vyberte první pole automaticky otevíraného okna Vytvořit a odeslat odkaz .

  3. V seznamu Další oprávnění vyberte Spustit funkce a zobrazit protokoly funkcí a pak vyberte Použít.

    Snímek obrazovky znázorňující přidání oprávnění spustit funkce a zobrazit protokoly funkcí

  4. 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.

  5. 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.

  1. V Power BI Desktopu vytvořte novou sestavu.

  2. Vyberte katalog OneLake>databázi SQL.

    Snímek obrazovky znázorňující výběr databáze SQL z katalogu OneLake

  3. V okně katalogu OneLake vyberte databázi, kterou jste vytvořili v předchozí části. Například AdventureWorksLT. Pak vyberte Připojit.

  4. Postupujte podle zobrazených výzev k ověření databáze.

  5. 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.ProductDescription
    • SalesLT.ProductModel
    • SalesLT.ProductModelProductDescription

    Snímek obrazovky znázorňující načtení tří tabulek z ukázkové datové sady do sestavy Power BI

  6. 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.

  1. V nabídce Data vyberte následující sloupce:

    • SalesLT.ProductModel > Name
    • SalesLT.ProductModelProductDescription > ProductModelID

    Snímek obrazovky znázorňující výběr sloupců 'Name' a 'ProductModelID' pro přidání do sestavy

    V okně sestavy se zobrazí tabulka se dvěma sloupci.

    Snímek obrazovky znázorňující sestavu Power BI s jednou přidanou tabulkou

  2. V nabídce Vizualizace vyberte ikonu vstupního průřezu .

    Snímek obrazovky ukazující, jak vybrat vizualizaci vstupního sliceru pro přidání do sestavy.

    Vizuál vstupního sliceru se zobrazí v okně sestavy.

    Snímek obrazovky, který zobrazuje sestavu Power BI s přidaným vstupním slicerem.

  3. 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.

  4. 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.

    Snímek obrazovky znázorňující sestavu Power BI s tlačítkem přidaným k ní.

  5. Vyberte tlačítko a rozbalte možnosti Akce v podokně Formát tlačítka. Přepněte přepínač Akce na Zapnuto.

  6. 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.

  7. 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.
  8. Vyberte OK k dokončení konfigurace akce. Podrobnosti o akci by měly vypadat jako v následujícím příkladu:

    Snímek obrazovky znázorňující podrobnosti konečné konfigurace akce

  9. 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.

  10. 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á.

    Snímek obrazovky znázorňující výběr stavu načítání stylu tlačítka

  11. Rozbalte nabídku Text a nahraďte text tlačítka hodnotou Submitting.

  12. Rozbalte nabídku Ikona.

    Ve výchozím nastavení má datové tlačítko typ ikony Točící kolečko pro stav načítání.

  13. 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.
  14. V podokně Vizualizace vyberte ikonu Tabulka a vložte novou tabulku.

  15. V podokně Data vyberte následující sloupce, které chcete přidat do tabulky:

    • SalesLT.ProductModel > Name
    • SalesLT.ProductDescription > Description
    • SalesLT.ProductDescription > ModifiedDate

    Snímek obrazovky znázorňující sestavu Power BI s druhou tabulkou přidanou do ní

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.

  1. V nabídce Panel nástrojů Domů vyberte Publikovat.

  2. Vyberte pracovní prostor Power BI, ve kterém chcete tuto sestavu publikovat, a pak vyberte Vybrat.

  3. 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ě:

    1. Otevřete sémantický model sestavy a přejděte do Soubor>Nastavení.
    2. Rozbalte nastavení přihlašovacích údajů ke zdroji dat , pokud ještě není.
    3. Vyberte Upravit přihlašovací údaje.
    4. 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.
    5. 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ěď.

  1. Otevřete sestavu v Power BI.
  2. 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.
  3. Do vstupního textového pole napište nový popis produktu.
  4. 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.
  5. 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