Sdílet prostřednictvím


Práce se sloupci vzorce

Sloupce vzorce jsou sloupce, které zobrazují vypočítanou hodnotu v tabulce Microsoft Dataverse. Vzorce používají Power Fx, což je 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

  1. Přihlaste se k Power Apps v https://make.powerapps.com.

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

  3. Vyberte oblast Sloupce a poté vyberte Nový sloupec.

  4. Zadejte následující údaje:

    • Zobrazovaný název sloupce.
    • Volitelně zadejte Popis sloupce.
  5. Pro Typ dat vyberte fx Vzorec.

  6. Zadejte vzorec nebo použijte návrhy vzorců:

    V poli Vzorec zadejte vzorec Power Fx. Další informace: Zadejte vzorec


  1. Vyberte další vlastnosti:
    • Vyberte Prohledávatelné, pokud chcete aby tento sloupec byl k dispozici v zobrazeních, grafech, řídicích panelech a rozšířeném hledání.
    • Upřesnit 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.
  2. Vyberte Uložit.

Zadání vzorce

Následující příklad vytvoří sloupec vzorce s názvem Celková cena. Sloupec Počet jednotek je datový typ celé číslo. Sloupec Cena je desítkový datový typ.

Snímek obrazovky definice sloupce vzorce.

Sloupec vzorce zobrazuje výsledek Cena vynásobený Počtem jednotek.

Snímek obrazovky záznamu se sloupcem vzorce.

Vzorec, který zadáte, určuje typ sloupce. Po vytvoření sloupce nelze změnit typ sloupce. To znamená, že vzorec můžete po vytvoření sloupce změnit pouze v případě, že se tím nezmění typ sloupce.

Například vzorec cena * sleva vytvoří sloupcový typ čísla. Vzorec cena * sleva můžete změnit na cena * (sleva +10 %), protože se nezmění typ sloupce. Nemůžete však změnit vzorec cena * sleva na Text(cena * sleva), protože to by vyžadovalo změnu typu 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.

Ukázkové funkce 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í Návrhy AI pro sloupce vzorců. Více informací: 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. Příklad sloupce hodnocení zákazníků

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. Doporučený vzorec

A vložte jej do pole Zadejte vzorec. Vyberte Uložit. Vložte vzorec do pole Zadejte vzorec.

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.

Zkontrolujte výsledky pro sloupec vzorce

Zodpovědná AI

Informace o odpovědné umělé inteligenci naleznete v těchto zdrojích:

Operátory

Ve sloupci vzorce můžete použít následující operátory:
+, -, *, /, %, in, exactin, &

Další informace najdete v tématu Operátory v Power Apps.

Datové typy

Ve sloupci vzorce můžete zobrazit následující datové typy:

  • Text
  • Desetinné číslo
  • Volba Ano/Ne (logická hodnota)
  • Datum a čas

Datové typy měna, celé číslo a výběr (dříve sady možností) nejsou aktuálně podporovány.

Typy funkcí

Ve sloupci vzorce lze použít následující typy funkcí:

  • Desetinné
  • Řetězcové
  • Logické
  • Sada možností
  • 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, povýšeno na desítkové

Funkce

Ve sloupci vzorce lze použít následující skalární funkce:

Abs

And

Day

Int

Len

Max

Mid

Mod

Not

Sum

Text *

Now

* Funkce Text a Value 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. Sloupec vzorce s nepodporovaným vzorcem Account.Annual Revenue
  • 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říklad Decimal(currency column) nebo Decimal(exchange rate). Funkce Decimal 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 typ sloupce měny 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.
    • Sloupce chování DateTime(TZI) lze porovnat nebo použít ve funkcích DateDiff s jiným sloupcem chování DateTime(TZI)/DateOnly.
    • Sloupce chování DateOnly lze porovnat nebo použít ve funkci DateDiff s jiným sloupcem chování DateTime(TZI)/DateOnly. Nepodporovaná konfigurace data a času se sloupcem vzorce
  • Sloupce data a času a funkce data a času UTCNow(), Now() nelze předat jako parametr řetězcovým funkcím. Sloupec vzorce s nepodporovaným parametrem datum a čas předaný ve vzorci

Použití sloupce vzorce v souhrnných polích

  • 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. Příklad sloupce jednoduchého vzorce pro souhrnný sloupec Příklad konfigurace kumulativního sloupce
  • Sloupec vzorce, který je závislý na časově vázaných funkcích UTCNow() a UTCToday() nelze použít v souhrnném poli.

Doporučené textové funkce Power Fx

  • Sloupce vzorce nepodporují funkce Text() s jedním argumentem typu Číslo. Číslo může být celé, desetinné nebo měna. Sloupec vzorce s nepodporovanou textovou funkcí s argumentem čísla

  • 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", 12 & 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 předán argument String do funkce Text , pak argument Format 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. Nepodporovaný token formátování specifický pro národní prostředí předaný jako parametr funkci Text ve vzorci

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 dávají null + 2 + 3 = null.

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.
  • V modelem řízených aplikacích je řazení zakázáno pro:
    • 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 vzorců, který používá časově vázanou 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 vzorců. Now() má chování místního času uživatele a UTCNow() má chování nezávislé na časovém pásmu.
  • Můžete nastavit vlastnost přesnosti pro desetinné sloupce.

Aktuálně nepodporované funkce Power Fx

  • Power
  • Sqrt
  • Exp
  • Ln
  • ^ (operátor)

Sloupce vzorců datových typů, které nelze vytvořit

  • Celé číslo
  • Možnosti (kromě možnosti Ano/Ne)
  • Měna

Viz také

Typy sloupců

Přehled platformy Microsoft Power Fx

Vzorec, počítané a souhrnné sloupce pomocí kódu