Principy tabulek a záznamů v aplikacích plátna

V Power Apps můžete vytvořit aplikaci plátna, která bude moct využívat informace z aplikací Microsoft Excel, SharePoint, SQL Serveru a několika dalších zdrojů, které ukládají data v záznamech a tabulkách. Abyste mohli tento typ dat využít na maximum, projděte si koncepty, které tvoří základ těchto struktur.

  • Záznam obsahuje jednu či více kategorií informací o osobě, místě nebo objektu. Záznam může například obsahovat jméno, e-mailovou adresu a telefonní číslo jednoho zákazníka. Jiné nástroje odkazují na záznam jako na řádek nebo položku.
  • Tabulka uchovává jeden nebo více záznamů, které obsahují stejné kategorie informací. Tabulka může třeba obsahovat jména, e-mailové adresy a telefonní čísla padesáti zákazníků.

V aplikaci budete k vytváření, aktualizacím a práci se záznamy a tabulkami využívat vzorce. Data budete pravděpodobně číst a zapisovat do externího zdroje dat, což je rozšířená tabulka. Kromě toho můžete vytvořit jednu nebo více interních tabulek, kterým se říká kolekce.

Můžete si vytvořit různé vzorce, které budou název tabulky používat jako argument stejným způsobem, jako vzorce v Excelu používají jako argumenty odkazy na buňky. Některé vzorce v Power Apps vrací tabulku odrážející další argumenty, které zadáte. Můžete například vytvořit vzorec, který zajistí:

  • Aktualizaci záznamu v tabulce. Uděláte to tak, že zadáte danou tabulku jako jeden z více argumentů funkce Patch.
  • Přidání, odebrání a přejmenování sloupců v tabulce. Uděláte to tak, že zadáte danou tabulku jako argument funkce AddColumns, DropColumns nebo RenameColumns. Ani jedna z těchto funkcí nezmění původní tabulku. Místo toho funkce vrátí jinou tabulku založenou na dalších argumentech, které zadáte.

Prvky tabulky

Prvky tabulky.

Záznamy

Každý záznam obsahuje minimálně jednu kategorii informací pro osobu, místo nebo objekt. Příklad uvedený výše zobrazuje záznam pro každý produkt (Chocolate, Bread a Water) a sloupec pro každou kategorii informací (Price, Quantity on Hand a Quantity on Order).

Ve vzorci můžete pomocí složených závorek odkazovat na samotný záznam, který se nachází mimo kontext tabulky. Tento záznam například { Name: "Strawberries", Price: 7.99 } není přidružený k tabulce. Všimněte si, že názvy polí jako Name a Price v tomto příkladu nejsou ve dvojitých uvozovkách.

Pole

Pole tvoří jednotlivé údaje v záznamu. Tento typ pole můžete vizualizovat jako hodnotu ve sloupci pro konkrétní záznam.

Stejně jako u ovládacího prvku odkazujete i na pole záznamu pomocí operátoru . u záznamu. First(Products).Name například vrátí pole Name pro první záznam v tabulce Products.

Pole může obsahovat jiný záznam nebo tabulku, jak znázorňuje příklad funkce GroupBy. Můžete vnořit tolik úrovní záznamů a tabulek, kolik chcete.

Sloupce

Sloupec odkazuje na stejné pole u jednoho nebo více záznamů v tabulce. V příkladu výše má každý produkt pole s cenou a tato cena se pro všechny produkty nachází ve stejném sloupci. Uvedená tabulka obsahuje čtyři sloupce, které jsou zobrazeny vodorovně v horní části:

  • Název
  • Cena
  • Quantity on Hand
  • Množství na objednávce

Název sloupce odráží pole v daném sloupci.

Všechny hodnoty v rámci sloupce mají stejný datový typ. V příkladu výše sloupec Quantity on Hand vždy pro jeden záznam obsahuje číslo a nemůže obsahovat řetězec, například 12 jednotek. Hodnota kteréhokoli pole může také být prázdná.

V jiných nástrojích jste možná na sloupce odkazovali jako na pole.

Poznámka

U zdrojů dat jako SharePoint, Excel nebo dlaždice Power BI obsahující názvy sloupců s mezerami Power Apps nahradí mezery "_x0020_". Například "Název sloupce" v SharePoint, Excel nebo dlaždici Power BI se bude zobrazovat jako "Column_x0020_Name" v Power Apps při zobrazení v rozložení dat nebo použití ve vzorci.

Table

Tabulku tvoří jeden nebo více záznamů, z nichž každý obsahuje několik polí, která mají v rámci záznamů konzistentní názvy.

Kterákoli tabulka uložená ve zdroji dat nebo kolekci má název, pomocí něhož na ni můžete odkazovat a předat ji funkcím, které používají tabulky jako argumenty. Tabulky také mohou být výsledkem funkce nebo vzorce.

Stejně jako v následujícím příkladu můžete vyjádřit tabulku ve vzorci pomocí funkce Table se sadou záznamů, které uvedete ve složených závorkách:

Table( { Value: "Strawberry" }, { Value: "Vanilla" } )

Můžete také definovat tabulku s jedním sloupcem, a to pomocí hranatých závorek. Uvedený vzorec můžete napsat také takto:

[ "Strawberry", "Vanilla" ]

Tabulkové vzorce

V Excelu i Power Apps slouží k práci s čísly a textovými řetězci podobným způsobem vzorce:

  • V Excelu zadejte hodnotu, třeba 42, do buňky A1 a potom do jiné buňky zadejte vzorec, třeba A1+2, aby se zobrazila hodnota 44.
  • V Power Apps nastavte vlastnost Default prvku Slider1 na 42 a nastavte vlastnost Text popisku na Slider1.Value + 2, aby se zobrazila hodnota 44.

V obou případech se vypočítané hodnoty automaticky změní, když změníte hodnoty argumentů (například číslo v buňce A1 nebo hodnotu prvku Slider1).

Podobně také můžete vzorce použít k přístupu k datům v tabulkách a záznamech a k práci s nimi. V některých vzorcích se používají názvy tabulek jako argumenty, například Min(Catalog; Price), k zobrazení nejnižší hodnoty ve sloupci Price v tabulce Catalog. Jiné vzorce poskytují celé tabulky jako návratové hodnoty, jako je vzorec RenameColumns(Catalog; "Price"; "Cost"), který vrátí všechny záznamy z tabulky Catalog, ale změní název sloupce Price na Cost.

Stejně jako u čísel i vzorce, které zahrnují tabulky a záznamy, se automaticky přepočítají, když se změní podkladová tabulka nebo záznam. Pokud náklady na produkt v tabulce Catalog klesnou pod předchozí minimum, návratová hodnota vzorce Min se automaticky změní, aby odpovídala.

Projděme si několik jednoduchých příkladů.

  1. Vytvořte prázdnou aplikaci pro telefon a přidejte ovládací prvek (svislý) Galerie, který obsahuje další ovládací prvky.

    Ve výchozím nastavení se na obrazovce zobrazuje zástupný text z tabulky s názvem CustomGallerySample. Vlastnost Items ovládacího prvku Galerie na obrazovce se automaticky nastaví na danou tabulku.

    Galerie.

    Poznámka

    Z ilustračních důvodů jsou některé ovládací prvky jinak uspořádané a zvětšené.

  2. Místo nastavení na název tabulky nastavte vlastnost Items na vzorec, který obsahuje název tabulky jako argument, jako v tomto příkladu:

    Sort(CustomGallerySample, SampleHeading, SortOrder.Descending)

    Tento vzorec používá funkci Sort, která převezme název tabulky jako svůj první argument a název sloupce v tabulce jako druhý argument. Funkce také podporuje nepovinný třetí argument, který stanoví, že chcete data seřadit v sestupném pořadí.

    Funkce Sort pro galerii.

  3. Nastavte vlastnost Items na vzorec, který převezme vzorec z předchozího kroku jako argument a vrátí tabulku, jako v tomto příkladu:

    FirstN(Sort(CustomGallerySample, SampleHeading, SortOrder.Descending), 2)

    V tomto vzorci použijete funkci FirstN k zobrazení určitého počtu záznamů v tabulce. Funkci Sort použijete jako první argument pro funkci FirstN a číslo (v tomto případě 2) jako druhý argument, který určuje, kolik záznamů se má zobrazit.

    Celý vzorec vrátí tabulku, která obsahuje první dva záznamy tabulky CustomGallerySample seřazené podle sloupce SampleHeading v sestupném pořadí.

    Funkce FirstN pro galerii.

Funkce tabulky a vlastnosti ovládacích prvků

Zvažte funkci Lower. Pokud proměnná welcome obsahuje textový řetězec "Hello, World", vzorec Lower( welcome ) vrátí "hello, world". Tato funkce nijak nemění hodnotu v této proměnné. Lower je čistá funkce v tom, že zpracovává pouze vstup a produkuje výstup. To je vše; nemá žádné vedlejší účinky. Všechny funkce v Excelu a většina funkcí v Power Apps jsou čistě funkce, které umožňují automatický výpočet sešitu nebo aplikace.

Power Apps nabízí sadu funkcí, které pracují s tabulkami stejným způsobem. Tyto funkce berou tabulky jako vstup a filtrují, třídí, transformují, redukují a shrnují celé tabulky dat. Ve skutečnosti funkce Lower a spousta dalších, které běžně berou jednu hodnotu, mohou jako vstup také brát tabulku single-column.

  • Sort, Filter – umožňují seřadit a filtrovat záznamy.
  • FirstN, LastN – vrátí prvních N nebo posledních N záznamů tabulky.
  • Abs, Sqrt, Round, RoundUp, RoundDown – jedná se o aritmetické operace u jednotlivých záznamů tabulky s jedním sloupcem, jejichž výsledkem je tabulka výsledků s jedním sloupcem.
  • Left, Mid, Right, Replace, Substitute, Trim, Lower, Upper, Proper – jedná se o zpracování řetězců u každého záznamu v tabulce s jedním sloupcem, jejichž výsledkem je tabulka řetězců s jedním sloupcem.
  • Len – určeno pro sloupce řetězců. Vrátí tabulku s jedním sloupcem, která obsahuje délky jednotlivých řetězců.
  • Concatenate – zřetězí více sloupců řetězců a jako výsledek vrátí tabulku řetězců s jedním sloupcem.
  • AddColumns, DropColumns, RenameColumns, ShowColumns – jedná se o zpracování sloupců v tabulce, jejichž výsledkem je nová tabulka s odlišnými sloupci.
  • Distinct – odebere duplicitní záznamy.
  • Shuffle – uspořádá záznamy v náhodném pořadí.
  • HashTags – vyhledá hashtagy v řetězci.
  • Errors – poskytuje informace o chybě při práci se zdrojem dat.

Mnohé z těchto funkcí berou jako svůj vstup tabulku s jedním sloupcem. Pokud má celá tabulka pouze jeden sloupec, můžete ji určit podle názvu. Pokud tabulka obsahuje více sloupců, můžete určit jeden z těchto sloupců pomocí syntaxe Table.Column. Funkce Products.Name například vrací tabulku o jednom sloupci pouze s hodnotami Name z tabulky Products.

Tabulku však můžete zcela přetvořit pomocí funkce AddColumns, RenameColumns, ShowColumns nebo DropColumns. Tyto funkce opět mění pouze výstup, nikoli zdroj.

Vlastnosti ovládacích prvků mohou být také tabulky:

  • Items – platí pro galerie, seznamy a pole se seznamem. Tato vlastnost definuje tabulku, kterou zobrazuje galerie nebo seznam.
  • SelectedItems – platí pro galerie, seznamy a pole se seznamem. Tato vlastnost definuje tabulku položek, které uživatel vybral, pokud je povolena vlastnost SelectMultiple.

Vzorce chování

Ostatní funkce jsou speciálně navrženy pro úpravu dat a mají vedlejší účinky. Protože tyto funkce nejsou čisté, musíte je sestavovat pečlivě a nemohou se podílet na automatickém přepočtu hodnot v aplikaci. Tyto funkce se dají použít jenom ve vzorcích chování.

  • Collect, Clear, ClearCollect – vytváří kolekce, maže je a přidává do nich data.
  • Oprava - Modifikuje jedno nebo více polí v záznamu.
  • Update, UpdateIf – aktualizuje záznamy, které odpovídají jednomu nebo více zadaným kritériím.
  • Remove, RemoveIf – odstraní záznamy, které odpovídají jednomu nebo více zadaným kritériím.

Vzorce záznamů

Můžete si také vytvořit vzorec, který vypočítá data pro jednotlivý záznam, použije ho jako argument a vrátí jednotlivý záznam jako návratovou hodnotu. Vraťme se teď k výše uvedenému příkladu galerie a použijme vlastnost Gallery1.Selected k zobrazení informací z libovolného záznamu, který uživatel v dané galerii vybral.

  1. Přidejte prvek Tlačítko a nastavte jeho vlastnost OnSelect na tento vzorec:
    Collect( SelectedRecord; Gallery1.Selected )

  2. Zatímco držíte klávesu Alt, vyberte tlačítko.

  3. V nabídce Soubor vyberte Kolekce.

    Kolekce SelectedRecord.

Tento vzorec vrátí záznam, který obsahuje nejen data ze záznamu aktuálně vybraného v galerii, ale také všechny ovládací prvky v dané galerii. Záznam například obsahuje jak sloupec SampleText, který odpovídá sloupci SampleText v původní tabulce, tak i sloupec Subtitle1, který představuje popisek zobrazující data z daného sloupce. Výběrem ikony tabulky ve sloupci Subtitle1 přejděte na podrobnosti těchto dat.

Poznámka

Pokud jste přidali jiné prvky, než jsou uvedené v tomto tématu, můžete sloupec Subtitle1 pojmenovat například Subtitle2.

Teď, když jste vybrali záznam, může z něj extrahovat jednotlivá pole pomocí operátoru . operátor.

  1. Přidejte ovládají prvek Popisek a potom ho přesuňte pod galerii a tlačítko.

  2. U jeho vlastnosti Text nastavte tento výraz:
    "Selected: " & Gallery1.Selected.SampleHeading

    Vlastnost Text s aktualizovaným popiskem.

Převzali jste vlastnost Selected, což je záznam, a z něj extrahovali vlastnost SampleHeading.

Pro související pojmenované hodnoty můžete také záznam použít jako kontejner pro obecné účely.

V těchto případech se záznam nikdy nestal součástí tabulky.

Funkce záznamu a vlastnosti ovládacích prvků

Funkce, které vrací záznamy:

  • FirstN, LastN – vrátí první nebo poslední záznam či záznamy tabulky.
  • Lookup – vrátí první záznam z tabulky, který vyhovuje jednomu nebo více kritériím.
  • Patch – aktualizuje zdroj dat nebo sloučí záznamy.
  • Defaults – vrátí výchozí hodnoty zdroje dat.

Vlastnosti, které vrací záznamy:

  • Selected – platí pro galerie a seznamy. Vrátí aktuálně vybraný záznam.
  • Updates – platí pro galerie. Sjednotí všechny změny, které uživatel provedl ve formuláři pro zadávání dat.
  • Update – platí pro ovládací prvky vstupu, jako jsou ovládací prvky Textové zadání a posuvníky. Nastaví jednotlivé vlastnosti galerie a sjednotí je.

Obor záznamů

Některé funkce pracují tak, že jednotlivě vyhodnocují vzorec napříč všemi záznamy v tabulce. Výsledek vzorce se používá různě:

  • AddColumns – vzorec poskytuje hodnotu přidaného pole.
  • Average, Max, Min, Sum, StdevP, VarP – vzorec poskytuje hodnotu, která se má agregovat.
  • Filter, Lookup – vzorec určuje, zda se má záznam zahrnout do výstupu.
  • Concat – vzorec určuje řetězce, které se mají zřetězit dohromady.
  • Distinct – vzorec vrátí hodnotu, která slouží k identifikaci duplicitních záznamů.
  • ForAll – vzorec může vrátit libovolnou hodnotu, která může mít vedlejší efekt.
  • Sort – vzorec poskytuje hodnotu, podle které se záznamy mají seřadit.
  • With – vzorec může vrátit libovolnou hodnotu, která může mít vedlejší efekt.

Uvnitř těchto vzorců můžete odkazovat na pole zpracovávaného záznamu. Každá z těchto funkcí vytvoří obor záznamů, ve kterém se vzorec vyhodnotí a kde jsou pole záznamu k dispozici jako identifikátory nejvyšší úrovně. Z aplikace také můžete odkazovat na vlastnosti ovládacího prvku a jiné hodnoty.

Jako příklad si vezměme tabulku Products:

Ukázkové produkty.

Chcete-li vytvořit tuto vzorovou tabulku v aplikaci, vložte tlačítko, nastavte jeho vlastnost OnSelect na tento vzorec a pak vyberte tlačítko (klikněte na ně a držte přitom stisknutou klávesu ALT v Power Apps Studio):

Set( Products,
    Table(
        { Product: "Widget",    'Quantity Requested': 6,  'Quantity Available': 3 },
        { Product: "Gadget",    'Quantity Requested': 10, 'Quantity Available': 20 },
        { Product: "Gizmo",     'Quantity Requested': 4,  'Quantity Available': 11 },
        { Product: "Apparatus", 'Quantity Requested': 7,  'Quantity Available': 6 }
    )
)

Pokud chcete určit, zda se některého produktu požaduje více, než je dostupné, použijte vzorec:

Filter( Products, 'Quantity Requested' > 'Quantity Available' )

Prvním argumentem funkce Filter je tabulka záznamů, se kterou se bude pracovat, a druhým argumentem je vzorec. Funkce Filter vytvoří obor záznamů pro vyhodnocení tohoto vzorce, ve kterém jsou dostupná pole všech záznamů – v tomto případě Product, Quantity Requested a Quantity Available. Výsledek porovnání určuje, zda se má záznam zahrnout do výsledku funkce:

Filtrovaná tabulka.

V tomto příkladu navíc vypočítáme, jaké množství každého produktu se má objednat:

AddColumns( 
    Filter( Products, 'Quantity Requested' > 'Quantity Available' ), 
    "Quantity To Order", 'Quantity Requested' - 'Quantity Available'
)

Tady přidáváme do výsledku vypočítaný sloupec. AddColumns má vlastní obor záznamů, který používá k výpočtu rozdílu mezi požadovaným a dostupným množstvím.

Přidané sloupce.

Nakonec zmenšíme výslednou tabulku pouze na ty sloupce, které chceme:

ShowColumns(
    AddColumns(
        Filter( Products, 'Quantity Requested' > 'Quantity Available' ),
        "Quantity To Order", 'Quantity Requested' - 'Quantity Available'
    ),
    "Product",
    "Quantity To Order"
)

Aktualizovaná tabulka.

Všimněte si, že v uvedeném příkladu jsme na některých místech použili dvojité uvozovky (") a na jiných jednoduché ('). Jednoduché uvozovky jsou povinné, když odkazujete na hodnotu objektu, jako je pole nebo tabulka, ve které název objektu obsahuje mezery. Dvojité uvozovky se používají, když neodkazujete na hodnotu objektu, ale když o něm mluvíte, zejména v situacích, ve kterých objekt ještě neexistuje, jako tomu je v případě funkce AddColumns.

Mnohoznačnost

Názvy polí přidané prostřednictvím oboru záznamů přepíší stejné názvy v aplikaci pocházející odjinud. Pokud k tomu dojde, můžete k hodnotám mimo obor záznamů nadále přistupovat pomocí operátoru mnohoznačnosti : @ disambiguation:

  • Pro přístup k hodnotám z vnořených oborů záznamů použijte operátor @ s názvem tabulky, se kterou se pracuje, a to podle tohoto vzoru:
    Tabulka[@NázevPole]
  • Pro přístup ke globálním hodnotám, jako jsou zdroje dat, kolekce a kontextové proměnné, použijte vzor [@NázevObjektu] (bez označení tabulky).

Pokud je tabulka, se kterou se pracuje, výrazem, například Filter( Table, ... ), není možné operátor mnohoznačnosti použít. Pouze nejvnitřnější obor záznamů má přístup k polím z tohoto výrazu tabulky bez použití operátoru mnohoznačnosti.

Představme si například, že máme kolekci X:

Kolekce X.

Tuto kolekci můžete vytvořit pomocí vzorce ClearCollect( X; [1; 2] ).

A další kolekci Y:

Kolekce Y.

Tuto kolekci můžete vytvořit pomocí vzorce ClearCollect( Y; ["A"; "B"] ).

Kromě toho definujte kontextovou proměnnou s názvem Value pomocí tohoto vzorce: UpdateContext( {Value: "!"} )

A teď to dejme všechno dohromady. V tomto kontextu následující vzorec:

Ungroup(
    ForAll( X,
        ForAll( Y,
            Y[@Value] & Text( X[@Value] ) & [@Value]
        )
    ),
    "Value"
)

vytvoří tuto tabulku:

Tabulka XY.

K čemu tady došlo? Nejkrajnější funkce ForAll definuje obor záznamů pro X a umožňuje přístup k poli Value každého záznamu postupně tak, jak se zpracovávají. Přistupovat k němu můžete jednoduše pomocí slova Value nebo pomocí X[@Value].

Nejvnitřnější funkce ForAll definuje jiný rozsah záznamu pro Y. Vzhledem k tomu, že má tato tabulka definované také pole Value, použití Value zde odkazuje také na záznam hodnoty Y a nikoli dále na záznam z X. Pokud zde chceme přejít na pole X Value, musíme použít delší verzi s operátorem nejednoznačnosti.

Protože Y je nejvnitřnějším oborem záznamů, nevyžaduje přístup k polím této tabulky mnohoznačnost, a my můžeme použít tento vzorec se stejným výsledkem:

Ungroup(
    ForAll( X,
        ForAll( Y,
            Value & Text( X[@Value] ) & [@Value]
        )
    ),
    "Value"
)

Všechny obory záznamů ForAll přepíší globální obor. Kontextová proměnná Value, kterou jsme definovali, není dostupná podle názvu bez operátoru mnohoznačnosti. Pro přístup k této hodnotě použijte [@Value].

Ungroup vyrovná výsledek, protože vnořené funkce ForAll vrátí vnořenou tabulku výsledků.

Tabulky s jedním sloupcem

Pokud chcete provozovat jeden sloupec z tabulky, použijte funkci ShowColumns jako v tomto příkladu:

ShowColumns( Products, "Product" )

Tento vzorec vytváří tuto tabulku s jedním sloupcem:

Tabulka s jedním sloupcem.

Pro kratší alternativu zadejte Table.Column, který extrahuje tabulku s jedním sloupcem pouze Sloupec z Table. Tento vzorec například poskytuje přesně stejný výsledek jako použití Zobrazit sloupce.

Products.Product

Vnořené záznamy

Záznamy vyjádříte pomocí složených závorek, které obsahují hodnoty pojmenovaných polí. První záznam v tabulce ze začátku tohoto tématu můžete například vyjádřit pomocí tohoto vzorce:

{ Name: "Chocolate", Price: 3.95, 'Quantity on Hand': 12, 'Quantity on Order': 10 }

Vzorce také můžete vložit do jiných vzorců, jak uvádí tento příklad:

{ Name: First(Products).Name, Price: First(Products).Price * 1.095 }

Záznamy můžete vnořit pomocí vnoření složených závorek, jako je tomu v tomto příkladu:

{ 'Quantity': { 'OnHand': ThisItem.QuantOnHand, 'OnOrder': ThisItem.QuantOnOrder } }

Názvy jednotlivých sloupců, které obsahují speciální znaky (třeba mezeru nebo středník), uzavřete do jednoduchých uvozovek. Pokud chcete v názvu sloupce použít jednoduchou uvozovku, uveďte ji dvakrát.

Všimněte si, že hodnota ve sloupci Price neobsahuje symbol měny, jako je znak dolaru. Toto formátování se použije až při zobrazení hodnoty.

Vložené tabulky

Tabulku můžete vytvořit pomocí funkce Table a sady záznamů. Tabulku ze začátku tohoto tématu můžete vyjádřit pomocí tohoto vzorce:

Table( 
    { Name: "Chocolate", Price: 3.95, 'Quantity on Hand': 12, 'Quantity on Order': 10 },
    { Name: "Bread", Price: 4.95, 'Quantity on Hand': 34, 'Quantity on Order': 0 },
    { Name: "Water", Price: 4.95, 'Quantity on Hand': 10, 'Quantity on Order': 0 } 
)

Tabulky můžete také vnořit:

Table( 
    { Name: "Chocolate", 
      'Quantity History': Table( { Quarter: "Q1", OnHand: 10, OnOrder: 10 },
                                 { Quarter: "Q2", OnHand: 18, OnOrder: 0 } ) 
    }
)

Vložené tabulky hodnot

Tabulky s jedním sloupcem můžete vytvořit tak, že zadáte hodnoty do hranatých závorek. Výsledná tabulka má jeden sloupec, který nese název Value.

[ 1, 2, 3, 4 ] je například ekvivalent pro Table( { Value: 1 }, { Value: 2 }, { Value: 3 }, { Value: 4 } ) a vrací tuto tabulku:

Vložená tabulka.

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).