Sdílet prostřednictvím


Uživatelem definované funkce jazyka DAX (Preview)

Poznámka:

Uživatelem definované funkce jazyka DAX jsou aktuálně ve verzi Preview.

Uživatelem definované funkce jazyka DAX (Data Analysis Expressions) umožňují zabalit opakovaně použitelnou, parametrizovanou logiku DAX do vašich modelů, což usnadňuje psaní, údržbu a sdílení kódu DAX. Místo opakování vzorců napříč mírami, počítanými sloupci a vizuály přinášejí uživatelsky definované funkce flexibilitu ve stylu programování do sémantických modelů, takže můžete definovat funkce jednou a používat je všude, kde je DAX podporován. Další informace najdete v tématu Uživatelem definované funkce jazyka DAX.

Proč používat uživatelem definované funkce?

  • Opětovná použitelnost a konzistence: Definujte výpočet jednou a použijte ho všude.
  • Udržovatelnost: Aktualizujte logiku na jednom místě, abyste opravili nebo vyvíjeli pravidla.
  • Bezpečnější psaní kódu: Volitelné typové nápovědy a nástroje ke kontrole typů podporují předvídatelný a bezchybný kód.
  • Objekty modelu první třídy: Uživatelsky definované funkce jsou součástí modelu a lze je zobrazit v Průzkumníku modelu.

Začínáme

Vyzkoušení funkcí definovaných uživatelem v desktopové verzi:

  1. Přejděte na Soubor > Možnosti a nastavení > Možnosti.
  2. Vyberte funkce ve verzi Preview a zkontrolujte uživatelem definované funkce jazyka DAX.
  3. Vyberte OK a restartujte Power BI Desktop.

Definování funkce

V Power BI Desktopu můžete definovat uživatelem definovanou funkci pomocí zobrazení dotazů DAX (DQV) nebo zobrazení TMDL.

Obecná syntaxe

Obecná syntaxe pro uživatelsky definovanou funkci je:

/// Optional description above the function
FUNCTION <FunctionName> = ( <ParameterName>: <ParameterType>, ... ) => <FunctionBody>

Příklad: Jednoduchá daňová funkce

Tady je jednoduchý příklad v DQV, který na danou částku přidá daň. Můžete také vyhodnotit UDF v DQV.

DEFINE
    /// AddTax takes in amount and returns amount including tax
    FUNCTION AddTax = (
            amount : NUMERIC
        ) =>
        amount * 1.1

EVALUATE
{ AddTax ( 10 ) }
// Returns 11

Po definování funkce uživatelem můžete aktualizovat model nebo pomocí code lens přidat funkci do modelu.

Snímek obrazovky se zobrazením dotazu DAX v Power BI Desktopu a zvýrazněným dvěma umístěními, kde můžete uložit uživatelem definovanou funkci První možností je aktualizovat model s tlačítkem Změny v horní části zobrazení. Druhým je stavový řádek v editoru kódu označeném aktualizačním modelem: Přidání nové funkce.