Práce se sloupci vzorce
Sloupce vzorce jsou sloupce, které zobrazují vypočítanou hodnotu v tabulce Microsoft Dataverse. Vzorce používají Power Fx, výkonný, ale pro člověka přátelský programovací jazyk. Sestavte vzorec ve sloupci vzorce Dataverse stejným způsobem, jakým byste sestavovali vzorec Microsoft Excel. Při psaní Intellisense navrhuje funkce a syntaxi a dokonce vám pomůže opravit chyby.
Přidání sloupce vzorce
Přihlaste se k Power Apps v https://make.powerapps.com.
Vyberte Tabulky a potom vyberte tabulku, do které chcete přidat sloupec vzorce. Pokud se položka nenachází v bočním podokně, vyberte možnost …Více a poté vyberte požadovanou položku.
Vyberte oblast Sloupce a poté vyberte Nový sloupec.
Zadejte následující údaje:
- A zobrazované jméno pro sloupec.
- Volitelně zadejte Popis sloupce.
Pro Typ dat vyberte fx Vzorec.
Zadejte vzorec nebo použijte návrhy vzorců:
Do pole Power Fx Vzorec zadejte vzorec . Další informace: Zadejte vzorec
- Vyberte další vlastnosti:
- Vyberte Vyhledatelné , pokud chcete, aby byl tento sloupec dostupný v zobrazeních, grafech, řídicích panelech a rozšířeném hledání.
- Pokročilé možnosti:
- Pokud je vzorec vyhodnocen jako desetinná hodnota, rozbalte Pokročilé možnosti a změňte počet bodů přesnosti mezi 0 a 10. Výchozí hodnota je 2.
- Zvolte Uložit.
Zadání vzorce
Následující příklad vytvoří sloupec vzorce s názvem Celková cena. Sloupec Počet jednotek je celočíselný datový typ. Sloupec Cena je desetinný datový typ.
Sloupec vzorce zobrazuje výsledek Cena násobený Počet jednotek.
Vzorec, který zadáte, určuje typ sloupce. Po vytvoření sloupce nelze změnit typ sloupce. To znamená, že po vytvoření sloupce můžete vzorec změnit pouze v případě, že nezmění typ sloupce.
Například vzorec cena * sleva vytváří číslo typ sloupce. Můžete změnit cenu * slevu na cenu * (sleva + 10 %) protože to nemění typ sloupce. Nemůžete však změnit cena * sleva na Text(cena * sleva) protože by to vyžadovalo změnu typ sloupce na řetězec.
Získání návrhů vzorců (Preview)
[Toto téma představuje předběžnou dokumentaci a může se změnit.]
Popište, co chcete, aby vzorec dělal, a získejte výsledky vygenerované umělou inteligencí. Návrhy vzorců přijímají váš vstup z přirozeného jazyka k interpretaci a navrhování vzorce Power Fx pomocí modelu AI založeného na GPT.
Důležité
Toto je funkce Preview a je k dispozici pouze v oblastech USA.
Funkce Preview nejsou určené pro normální používání a mohou mít omezené fungování. Jsou to funkce, které jsou poskytnuté před svým oficiálním vydáním, aby si je zákazníci mohli co nejdříve vyzkoušet a mohli nám napsat své názory.
V současné době jsou podporovány návrhy vzorců, které odkazují na jednu tabulku. Nejsou podporovány návrhy vzorců, které odkazují na sloupec v související tabulce.
Předpoklady
Chcete-li tuto funkci povolit, musíte povolit nastavení prostředí AI pro sloupce vzorců . Další informace: Návrhy AI pro sloupce vzorců
Příklad vstupu v přirozeném jazyce
Představte si, že existuje sloupec Hodnocení zákazníků , který zobrazuje jejich hodnocení podle účtu.
Do pole Získat návrhy vzorců zadejte vzorec v přirozeném jazyce, například Pokud je hodnocení ve sloupci hodnocení rovno nebo větší než 5, pak označte jako Dobré a pokud je méně než 5, označte jako Průměr a pokud je hodnota prázdná nebo nulová, zobrazte se jako Špatná a poté vyberte tlačítko se šipkou (vstup).
Poté zkopírujte Navrhovaný vzorec.
A vložte jej do pole Zadejte vzorec . Zvolte Uložit.
Takto vypadá vzorec po vložení.
Switch(
ThisRecord.'Customer Rating',
Blank(), "Bad",
0, "Bad",
1, "Average",
2, "Average",
3, "Average",
4, "Average",
5, "Good",
6, "Good",
7, "Good",
8, "Good",
9, "Good",
10, "Good"
)
Zkontrolujte vypočítaný sloupec vzorce Popis hodnocení , který vypadá takto.
Zodpovědná AI
Informace o odpovědné umělé inteligenci naleznete v těchto zdrojích:
- Časté dotazy pro vytváření aplikací a tabulek prostřednictvím konverzace
- Časté dotazy o zodpovědném používání AI v Power Apps
Operátory
Ve sloupci vzorce můžete použít následující operátory:
+, -, *, /, %, v, exaktin, &
Další informace najdete na Operátoři v Power Apps.
Datové typy
Ve sloupci vzorce můžete zobrazit následující datové typy:
- Text
- Desetinné číslo
- Celé číslo
- Plovák
- Logický Volba (Ano/Ne)
- Volba (dříve sady možností)
- Datum a čas
Další informace: Vytváření sloupců vzorců s datovými typy desítkové, celé číslo, float a choice\
Datový typ měny není aktuálně podporován.
Typy funkcí
Ve sloupci vzorce lze použít následující typy funkcí:
- Desetinné
- Řetězcové
- Logické
- Výběr
- Datum/čas (TZI)
- DateTime (místní čas uživatele) (omezeno na porovnání s jinými hodnotami místního času uživatele a funkcí DateAdd a DateDiff)
- DateTime (pouze datum) (omezeno na porovnání s jinými hodnotami pouze data a funkcemi DateAdd a DateDiff)
- Měna
- Celé číslo
Funkce
Pro skalární funkce, které můžete použít ve sloupci vzorce, přejděte na Odkaz na vzorec - Dataverse sloupce vzorce.
* Funkce Text a Hodnota fungují pouze s celými čísly, kde není použit oddělovač desetinných míst. Oddělovač desetinných míst se v různých národních prostředích liší. Protože se sloupce vzorců se vyhodnocují bez znalosti národního prostředí, neexistuje způsob, jak správně interpretovat nebo vygenerovat oddělovač desetinných míst.
* Argument StartOfWeek není podporován pro funkce WeekNum a Weekday ve sloupcích vzorce.
Příklad funkce
Description | Příklad |
---|---|
Načíst hodnotu data. | DateAdd(UTCNow(),-1,TimeUnit.Years) |
Řízení a omezení.
Tato část popisuje pokyny a známá omezení se sloupci vzorců v Dataverse.
Ověření použití polí měn
- Sloupce vzorce nepodporují použití souvisejícího sloupce měny tabulky ve vzorci, jako je tomu v tomto příkladu.
- Přímé použití sloupců měny a směnného kurzu ve vzorci v současné době není podporováno. Použití sloupců měny a směnného kurzu je dosaženo pomocí funkce
Decimal
, jako je napříkladDecimal(currency column)
neboDecimal(exchange rate)
. FunkceDecimal
zajišťuje, že výstup je v přijatelném rozsahu. Pokud hodnota sloupce měna nebo směnný kurz překročí přijatelný rozsah, vzorec vrátí hodnotu null. - Sloupce základní měny nejsou podporovány ve výrazech sloupců vzorce, protože se jedná o systémové sloupce používané pro účely vytváření přehledů. Pokud chcete podobný výsledek, můžete použít měnu typ sloupce spolu s kombinací sloupců směnného kurzu jako
CurrencyField_Base = (CurrencyField / ExchangeRate)
.
Ověření použití sloupců data a času
- Chování sloupců vzorce datum a čas lze aktualizovat pouze v případě, že není použito v jiném sloupci vzorce.
- U sloupců vzorce datum a čas se při používání funkce
DateDiff
ujistěte, že:- Sloupec místního chování uživatele nelze porovnat ani použít se sloupcem chování
DateTime(TZI)/DateOnly
. - Sloupec chování místního času uživatele lze porovnat či použít pouze s dalším sloupcem chování místního času uživatele.
DateTime(TZI)
sloupce chování lze porovnat nebo použít veDateDiff
funkcích s jinýmDateTime(TZI)/DateOnly
sloupcem chování.DateOnly
sloupce chování lze porovnat nebo použít ve funkci DateDiff s jiným sloupcem chováníDateTime(TZI)/DateOnly
.
- Sloupec místního chování uživatele nelze porovnat ani použít se sloupcem chování
- Sloupce data a času a funkce data a času
UTCNow()
,Now()
nelze předat jako parametr řetězcovým funkcím.
Použití sloupce vzorce v souhrnných polích
- A jednoduchý sloupec vzorce je místo, kde vzorec používá sloupce ze stejného záznamu nebo používá pevně zakódované hodnoty. U souhrnných sloupců musí být sloupce vzorců jednoduché sloupce vzorců, jako je tento příklad souhrnného sloupce.
- Sloupec vzorce, který je závislý na časově vázaných funkcích
UTCNow()
aUTCToday()
nelze použít v souhrnném poli.
Doporučené textové funkce Power Fx
Sloupce vzorce nepodporují
Text()
funkce s jedním argumentem typu Číslo. Číslo může být celé, desetinné nebo měna.Sloupce vzorce nepodporují použití čísel v následujících konfiguracích:
- Ve funkcích řetězců. Jedná se o řetězcové funkce umístěné všude tam, kde se očekává textový argument: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute a Replace.
- V implicitních vzorcích, jako je
12 & "foo"
nebo12 & 34
nebo"foo" & 12
. - Vynucení interního čísla na text není podporováno. K převodu čísla na text doporučujeme použít
Text(Number, Format)
. V případě, že je ve funkciString
předán argumentText
, pak argumentFormat
není podporován. - Zde je příklad použití funkce
Text
k převodu čísla na text a připojení řetězce k němu:
Concatenate(Text(123,"#"),"ab") Text(123,"#") & "foo"
Tokeny formátování specifické pro národní prostředí, jako jsou "." a "," nejsou ve sloupcích vzorců podporovány.
Ověření rozsahu ve sloupcích vzorce
- Nelze nastavit vlastnosti Minimální hodnota nebo Maximální hodnota ve sloupci vzorce.
- Všechny interní výpočty by měly být v rozsahu Dataverse pro sloupce vzorce desetinného typu (-100000000000 až 100000000000).
- Pevně zakódovaná doslovná hodnota zadaná do řádku vzorců by měla ležet v rozsahu Dataverse.
- Pokud existuje číselný sloupec, který má hodnotu null, pak se v dílčí operaci považuje za 0. Například
a+b+c and If a = null, b=2, c=3
pak sloupec vzorce dává0 + 2 + 3 = 5
.- Toto chování se v tomto případě liší od počítaných sloupců, protože počítané sloupce poskytují
null + 2 + 3 = null
.
- Toto chování se v tomto případě liší od počítaných sloupců, protože počítané sloupce poskytují
Obecná ověření ve sloupcích vzorce
- Sloupce vzorce mohou odkazovat na jiné sloupce vzorce, ale sloupec vzorce nemůže odkazovat sám na sebe.
- Sloupce vzorců nepodporují cyklické řetězce, jako je
F1 = F2 + 10, F2 = F1 * 2
. - Maximální délka výrazu vzorce ve sloupcích vzorce je 1000 znaků.
- Maximální povolená hloubka ve sloupcích vzorce je 10. Hloubka je definována jako řetězec sloupců vzorce odkazující na jiné sloupce vzorce nebo souhrnné sloupce.
- Například
table E1, F1 = 1*2, table E2, F2 - E1*2
. V tomto příkladu hloubka F2 je 1.
- Například
- V modelem řízených aplikacích je řazení zakázáno na:
- Sloupec vzorců obsahující sloupec související tabulky.
- Sloupec vzorců obsahující logický sloupec (například sloupec Adresa).
- Sloupec vzorců obsahující další počítaný sloupec nebo sloupec vzorců.
- Sloupec vzorce, který používá časově omezenou funkci
UTCNow()
.
- Sloupce typu Celé číslo s formátem Jazyk, Doba trvání, Časové pásmo nejsou ve sloupcích vzorců podporovány.
- Sloupce typu Řetězec s formátem E-mail, Textová oblast, Symbol zaškrtnutí, URL nejsou ve sloupcích vzorců podporovány.
- Sloupce vzorců nezobrazují hodnoty, pokud je aplikace v mobilním offline režimu.
- Není možné spustit pracovní postupy nebo moduly plug-in pro sloupce se vzorcem.
- Nedoporučujeme používat počítané sloupce ve sloupcích vzorců a naopak.
- Pravidla vyhledávání duplicit nejsou aktivována ve sloupcích vzorců.
- Funkci
Now
lze použít se sloupci vzorce.Now()
má místní chování uživatele aUTCNow()
má chování nezávislé na časovém pásmu. - Můžete nastavit vlastnost přesnosti pro desetinné sloupce.
- Výchozí hodnota datového typu vzorce je nastavena na Desetinné pro vzorce vracející číselnou hodnotu.
- Aktualizace formátu sloupce vzorce pro celé číslo není podporována.
Sloupce vzorců datových typů, které nelze vytvořit
- Měna
Viz také
Přehled platformy Microsoft Power Fx