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.
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:
- Přejděte na Soubor > Možnosti a nastavení > Možnosti.
- Vyberte funkce ve verzi Preview a zkontrolujte uživatelem definované funkce jazyka DAX.
- 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.