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, 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:

    • A zobrazované jméno pro sloupec.
    • Volitelně zadejte Popis sloupce.
  5. Pro Typ dat vyberte fx Vzorec.

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

    Do pole Power Fx Vzorec zadejte vzorec . Další informace: Zadejte vzorec


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

Snímek obrazovky vzorce definice sloupce.

Sloupec vzorce zobrazuje výsledek Cena násobený Počet 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 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. 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 . Zvolte 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:
+, -, *, /, %, 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:

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. 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 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 ve DateDiff funkcích s jiným DateTime(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 . 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

  • 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. Příklad sloupce jednoduchého vzorce pro souhrnný sloupecPří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í Text() funkce 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" nebo 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 ve funkci String předán argument 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 poskytují 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 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 a UTCNow() 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é

Typy sloupců

Přehled platformy Microsoft Power Fx

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