Princípy tabuliek aplikácie s plátnom a záznamov v službe PowerAppsUnderstand canvas-app tables and records in PowerApps

V službe PowerApps môžete vytvoriť aplikáciu s plátnom, ktorá získava prístup k informáciám v Microsoft Exceli, SharePointe, SQL Serveri a ďalších zdrojoch, a ukladá údaje v záznamoch a tabuľkách.In PowerApps, you can create a canvas app that accesses information in Microsoft Excel, SharePoint, SQL Server, and several other sources that store data in records and tables. Ak chcete s týmito druhmi údajov pracovať čo najúčinnejšie, oboznámte sa so základnými konceptami týchto štruktúr.To work most effectively with this kind of data, review the concepts that underlie these structures.

  • Záznam obsahuje jednu alebo viac kategórií informácií o osobe, mieste alebo veci.A record contains one or more categories of information about a person, a place, or a thing. Záznam môže napríklad obsahovať meno, e-mailovú adresu a telefónne číslo zákazníka.For example, a record might contain the name, the email address, and the phone number of a single customer. V iných nástrojoch sa záznam nazýva „riadok“ alebo „položka“.Other tools refer to a record as a "row" or an "item."
  • Tabuľka obsahuje jeden alebo viac záznamov, ktoré obsahujú rovnaké kategórie informácií.A table holds one or more records that contain the same categories of information. Tabuľky môžu napríklad obsahovať mená, e-mailové adresy a telefónne čísla 50 zákazníkov.For example, a table might contain the names, the email addresses, and the phone numbers of 50 customers.

V aplikácii použijete vzorce na vytváranie, aktualizáciu a úpravu záznamov a tabuliek.In your app, you'll use formulas to create, update, and manipulate records and tables. Pravdepodobne budete čítať a zapisovať údaje do externého zdroja údajov, ktorý je rozšírenou tabuľkou.You'll probably read and write data to an external data source, which is an extended table. Okrem toho pravdepodobne vytvoríte jednu alebo viac interných tabuliek, ktoré sa nazývajú kolekcie.In addition, you might create one or more internal tables, which are called collections.

Môžete vytvoriť rôzne vzorce, ktoré budú používať názov tabuľky ako argument, rovnako ako vzorec v Exceli použije ako argumenty jednu alebo viaceré referencie buniek.You can build a variety of formulas that take the name of a table as an argument, just as a formula in Excel takes one or more cell references as arguments. Niektoré vzorce v službe PowerApps vracajú tabuľku, ktorá obsahuje iné špecifikované argumenty.Some formulas in PowerApps return a table that reflects the other arguments that you specify. Môžete napríklad vytvoriť vzorec:For example, you might create a formula:

  • na aktualizovanie záznamu v tabuľke špecifikovaním danej tabuľky ako jeden z viacerých argumentov vo funkcii Patch,to update a record in a table by specifying that table as one of multiple arguments for the Patch function
  • na pridanie, odstránenie a premenovanie stĺpcov v tabuľke uvedením tabuľky ako argumentu vo funkciách AddColumns, DropColumns alebo RenameColumns.to add, remove, and rename columns in a table by specifying that table as an argument for the AddColumns, DropColumns, or RenameColumns function. Žiadna z týchto funkcií neupravuje pôvodnú tabuľku.None of those functions modifies the original table. Namiesto toho funkcia vráti, na základe ďalších argumentov, ktoré určíte, inú tabuľku.Instead, the function returns another table based on the other arguments that you specify.

Prvky tabuľkyElements of a table

ZáznamyRecords

Každý záznam obsahuje aspoň jednu kategóriu informácií týkajúcich sa osoby, miesta alebo veci.Each record contains at least one category of information for a person, a place, or a thing. V príklade vyššie je zobrazený záznam pre každý produkt (Čokoláda, Chlieb a Voda) a stĺpec pre každú kategóriu informácií (Cena, Množstvo v sklade a Objednané množstvo).The example above shows a record for each product (Chocolate, Bread, and Water) and a column for each category of information (Price, Quantity on Hand, and Quantity on Order).

Vo vzorci môžete pomocou zložených zátvoriek odkazovať na záznam mimo kontextu tabuľky.In a formula, you can refer to a record by itself, outside of a table's context, by using curly braces. Napríklad tento záznam { Name: "Strawberries", Price: 7.99 } nie je priradený k tabuľke.For example, this record { Name: "Strawberries", Price: 7.99 } isn't associated with a table. Všimnite si, že názvy polí, ako tu napríklad Názov a Cena, nie sú uzavreté v dvojitých úvodzovkách.Note that field names, such as Name and Price in that example, aren't enclosed in double quotation marks.

PoliaFields

Pole predstavuje individuálnu informáciu v zázname.A field is an individual piece of information in a record. Môžete si ho predstaviť ako hodnotu konkrétneho záznamu v stĺpci.You can visualize this sort of field as a value in a column for a particular record.

Rovnako ako pri ovládacom prvku, na pole záznamu sa odkazuje pomocouJust as with a control, you refer to a field of a record by using the . operátora v zázname.operator on the record. Napríklad vzorec First(Products).Name vráti pole Name (Názov) prvého záznamu v tabuľke Produkty.For example, First(Products).Name returns the Name field for the first record in the Products table.

Pole môže obsahovať ďalší záznam alebo tabuľku, ako je zobrazené v príklade funkcie GroupBy.A field can contain another record or table, as the example for the GroupBy function shows. Môžete vnoriť toľko úrovní záznamov a tabuliek, koľko chcete.You can nest as many levels of records and tables as you want.

StĺpceColumns

Stĺpec sa vzťahuje na rovnaké pole jedného alebo viacerých záznamov v tabuľke.A column refers to the same field for one or more records in a table. Vo uvedenom príklade má každý produkt pole s cenou a táto cena je v rovnakom stĺpci pre všetky produkty.In the above example, each product has a price field, and that price is in the same column for all products. Uvedená tabuľka má štyri stĺpce, zobrazené horizontálne vedľa seba:The above table has four columns, shown horizontally across the top:

  • NázovName
  • CenaPrice
  • Množstvo v skladeQuantity on Hand
  • Objednané množstvoQuantity on Order

Názov stĺpca ilustruje polia obsiahnuté v danom stĺpci.The column's name reflects the fields in that column.

Všetky hodnoty v stĺpci sú rovnakého typu údajov.All values within a column are of the same data type. V uvedenom príklade stĺpec Množstvo v sklade v rámci jedného záznamu vždy obsahuje číslo a nemôže obsahovať reťazec, ako napríklad „12 kusov“.In the above example, the "Quantity on Hand" column always contains a number and can't contain a string, such as "12 units," for one record. Hodnota ľubovoľného poľa môže byť aj prázdna.The value of any field may also be blank.

V iných nástrojoch sa stĺpcom mohlo hovoriť aj polia.You may have referred to columns as "fields" in other tools.

Poznámka

V prípade sharepointových a excelových zdrojov údajov obsahujúcich názvy stĺpcov s medzerami nahradí služba PowerApps tieto medzery za „_x0020_“.For SharePoint and Excel data sources that contain column names with spaces, PowerApps will replace the spaces with "_x0020_". Napríklad Názov stĺpca v Exceli alebo SharePointe sa v službe PowerApps zobrazí ako Názov_x0020_stĺpca v prípade, že sa vyskytuje v rozložení údajov alebo používa vo vzorci.For example, "Column Name" in SharePoint or Excel will appear as "Column_x0020_Name" in PowerApps when displayed in the data layout or used in a formula.

TabuľkaTable

Tabuľka sa skladá z jedného alebo viacerých záznamov pozostávajúcich z viacerých polí, ktoré majú vo všetkých záznamoch konzistentné názvy.A table comprises one or more records, each with multiple fields that have consistent names across the records.

Každá tabuľka, ktorá je uložená v zdroji údajov alebo v kolekcii, má názov, ktorý môžete použiť pri odkazovaní na danú tabuľku vo funkciách, v ktorých je možné použiť tabuľku ako argument.Any table that's stored in a data source or a collection has a name, which you use to refer to the table and pass it to functions that take tables as arguments. Tabuľky môžu byť tiež výsledkom funkcie alebo vzorca.Tables can also be the result of a function or a formula.

V nasledujúcom príklade môžete vyjadriť tabuľku vo vzorci pomocou funkcie Table s množinou záznamov, ktorú vložíte do zložených zátvoriek:As in the following example, you can express a table in a formula by using the Table function with a set of records, which you express in curly braces:

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

Tabuľku s jedným stĺpcom môžete tiež definovať pomocou hranatých zátvoriek.You can also define a single-column table with square brackets. Alternatívny spôsob napísania uvedeného vzorca je:An equivalent way to write the above:

[ "Strawberry", "Vanilla" ][ "Strawberry", "Vanilla" ]

Tabuľkové vzorceTable formulas

Vzorce na narábanie s číslami a reťazcami textu sa v službe PowerApps a Exceli používajú podobne:In Excel and PowerApps, you use formulas to manipulate numbers and strings of text in similar ways:

  • V Exceli zadajte hodnotu, ako napríklad 42 do bunky A1 a potom do inej bunky zadajte vzorec, ako napríklad A1 + 2, aby sa zobrazila hodnota 44.In Excel, type a value, such as 42, in cell A1, and then type a formula, such as A1+2, in another cell to show the value of 44.
  • V službe PowerApps nastavte vlastnosť Default jazdca Slider1 na hodnotu 42 a vlastnosť označenia Text na hodnotu Slider1.Value + 2, aby sa zobrazila hodnota 44.In PowerApps, set the Default property of Slider1 to 42, and set the Text property of a label to Slider1.Value + 2 to show the value of 44.

V oboch prípadoch sa vypočítaná hodnota zmení automaticky po zmene hodnoty argumentov (napríklad číslo v bunke A1 alebo hodnota jazdca Slider1).In both cases, the calculated value changes automatically if you change the values of the arguments (for example, the number in cell A1 or the value of Slider1).

Podobným spôsobom môžete údaje upravovať a pristupovať k nim pomocou vzorcov aj v tabuľkách a záznamoch.Similarly, you can use formulas to access and manipulate data in tables and records. V niektorých vzorcoch môžete použiť názvy tabuliek ako argumenty, ako napríklad Min(Catalog, Price) na zobrazenie najnižšej hodnoty stĺpca Price (Cena) v tabuľke Katalóg.You can use names of tables as arguments in some formulas, such as Min(Catalog, Price) to show the lowest value in the Price column of the Catalog table. Iné vzorce poskytujú celé tabuľky ako vrátené hodnoty, ako napríklad RenameColumns(Catalog, "Price", "Cost"), ktorý vráti všetky záznamy z tabuľky Katalóg, ale zmení názov stĺpca Price (Cena) na Cost (Náklady).Other formulas provide whole tables as return values, such as RenameColumns(Catalog, "Price", "Cost"), which returns all the records from the Catalog table but changes the name of the Price column to Cost.

Vzorce, ktoré používajú tabuľky a záznamy, sú automaticky prepočítavané v prípade zmeny základnej tabuľky alebo záznamu, podobne ako pri číslach.Just as with numbers, formulas that involve tables and records are automatically recalculated as the underlying table or record changes. Ak sú náklady produktu v tabuľke Katalóg znížené pod predchádzajúcu minimálnu hodnotu, vrátená hodnota vzorca Min sa automaticky zmení, aby novú hodnotu započítala.If the cost of a product in the Catalog table is lowered below the previous minimum, the return value of the Min formula will automatically change to match it.

Pozrime sa na niekoľko jednoduchých príkladov.Let's walk through some simple examples.

  1. Vytvorte pre telefón prázdnu aplikáciu a pridajte zvislý ovládací prvok Gallery (Galéria), ktorý obsahuje iné ovládacie prvky.Create a blank app for a phone, and add a vertical Gallery control that contains other controls.

    Predvolene zobrazuje obrazovka zástupný text z tabuľky s názvom CustomGallerySample.By default, the screen shows placeholder text from a table named CustomGallerySample. Vlastnosť Items ovládacieho prvku Gallery (Galéria) na obrazovke sa automaticky nastaví na danú tabuľku.The Items property of the screen's Gallery control is automatically set to that table.

    Poznámka

    Niektoré ovládacie prvky boli premiestnené alebo zväčšené z dôvodu lepšej viditeľnosti.Some controls have been rearranged and enlarged for illustration purposes.

  2. Namiesto nastavenia vlastnosti Items (Položky) v názve tabuľky ju nastavte na vzorec, ktorý obsahuje názov tabuľky ako argument, ako v tomto príklade:Instead of setting the Items property to the name of a table, set it to a formula that includes the name of the table as an argument, as in this example:
    Sort(CustomGallerySample, SampleHeading, Descending)Sort(CustomGallerySample, SampleHeading, Descending)

    Tento vzorec zahŕňa funkciu Sort, ktorá použije názov tabuľky ako prvý argument a názov stĺpca z danej tabuľky ako druhý argument.This formula incorporates the Sort function, which takes the name of a table as its first argument and the name of a column in that table as its second argument. Funkcia tiež podporuje voliteľný tretí argument, ktorý stanovuje, že chcete zoradiť údaje v zostupnom poradí.The function also supports an optional third argument, which stipulates that you want to sort the data in descending order.

  3. Nastavte vlastnosť Items (Položky) na vzorec, ktorý používa vzorec z predchádzajúceho kroku ako argument, a vracia tabuľku, ako v tomto príklade:Set the Items property to a formula that takes the formula from the previous step as an argument and returns a table, as in this example:
    FirstN(Sort(CustomGallerySample, SampleHeading, Descending), 2)FirstN(Sort(CustomGallerySample, SampleHeading, Descending), 2)

    V tomto vzorci sa používa funkcia FirstN na zobrazenie konkrétneho počtu záznamov v tabuľke.In this formula, you use the FirstN function to show a particular number of records in a table. Použite funkciu Sort ako prvý argument vo funkcii FirstN a číslo (v tomto prípade číslo 2) ako druhý argument, ktorý určuje, koľko záznamov chcete zobraziť.You use the Sort function as the first argument to FirstN and a number (in this case, 2) as the second argument, which specifies how many records to show.

    Celý vzorec vráti tabuľku, ktorá obsahuje prvé dva záznamy z tabuľky CustomGallerySample, zoradené podľa stĺpca SampleHeading v zostupnom poradí.The entire formula returns a table that contains the first two records of the CustomGallerySample table, sorted by the SampleHeading column in descending order.

Funkcie tabuľky a vlastnosti ovládacích prvkovTable functions and control properties

Mnoho funkcií v službe PowerApps používajú názvy tabuliek ako argumenty, vytvoria z nej novú tabuľku s rovnakými údajmi, upravia novú tabuľku na základe iných argumentov a potom vrátia výsledok.Many functions in PowerApps take the name of a table as an argument, create a second table that contains the same data, manipulate the new table based the other arguments, and then return the result. Funkcie neupravujú pôvodnú tabuľku ani keď je to zdroj údajov.These functions don't modify the original table, even if it's a data source.

  • Sort, Filter – zoraďujú a filtrujú údaje.Sort, Filter - Sorts and filters records.
  • FirstN, LastN – vracajú prvých x alebo posledných x záznamov v tabuľke.FirstN, LastN - Returns the first N or last N records of the table.
  • Abs, Sqrt, Round, RoundUp, RoundDown – aritmetické operácie v každom zázname tabuľky s jedným stĺpcom. Výsledkom je tabuľka výsledkov s jedným stĺpcom.Abs, Sqrt, Round, RoundUp, RoundDown - Arithmetic operations on each record of a single-column table, resulting in a single-column table of results.
  • Left, Mid, Right, Replace, Substitute, Trim, Lower, Upper, Proper – upravujú reťazce v každom zázname tabuľky s jedným stĺpcom. Výsledkom je tabuľka reťazcov s jedným stĺpcom.Left, Mid, Right, Replace, Substitute, Trim, Lower, Upper, Proper - String manipulations on each record of a single-column table, resulting in a single-column table of strings.
  • Len – vracia zo stĺpca s reťazcami tabuľku s jedným stĺpcom, ktorá obsahuje dĺžku každého reťazca.Len - For a column of strings, returns a single-column table that contains the length of each string.
  • Concatenate – zreťazuje viaceré stĺpce reťazcov. Výsledkom je tabuľka reťazcov s jedným stĺpcom.Concatenate - Concatenates multiple columns of strings, resulting in a single-column table of strings.
  • AddColumns, DropColumns, RenameColumns, ShowColumns – upravujú stĺpce tabuľky. Výsledkom je nová tabuľka s inými stĺpcami.AddColumns, DropColumns, RenameColumns, ShowColumns - Column manipulation of the table, resulting in a new table with different columns.
  • Distinct – odstraňuje duplicitné záznamy.Distinct - Removes duplicates records.
  • Shuffle – usporiada záznamy do náhodného poradia.Shuffle - Shuffles records into a random order.
  • HashTags – vyhľadá v reťazci hashtagy.HashTags - Searches for hashtags in a string.
  • Errors – poskytuje informácie o chybách pri práci so zdrojom údajov.Errors - Provides error information when you work with a data source.

Funkciu môžete spúšťať v tabuľke, ktorá obsahuje viaceré stĺpce, aj keď funkcia používa ako argument tabuľky s jedným stĺpcom.You can run a function on a table that contains multiple columns, even if the function requires a single column as an argument. Ak chcete extrahovať jeden stĺpec z tabuľky s viacerými stĺpcami, použite ako argument vo funkcii, ktorú chcete použiť, funkciu ShowColumns, ako v tomto príklade:To extract a single column from a multi-column table, use the ShowColumns function as an argument for the function that you want to use, as in this example:
Lower( ShowColumns( Products, "Name" ) )Lower( ShowColumns( Products, "Name" ) )

Týmto vzorcom sa vytvorí tabuľka s jedným stĺpcom, ktorá obsahuje všetky údaje zo stĺpca Name (Názov) tabuľky Produkty, ale všetky veľké písmená konvertuje na malé písmená.This formula creates a single-column table that contains all the data from the Name column of the Products table but converts any uppercase letters to lowercase letters. Ak ako argument vo funkciách AddColumns, RenameColumns alebo DropColumns určíte tabuľku, túto tabuľku môžete úplne pretvoriť.If you specify a table as an argument for the AddColumns, RenameColumns, or DropColumns function, you can completely reshape that table however you want.

Ak ako argument pre niektorú z týchto funkcií určíte zdroj údajov, záznamy daného zdroja údajov sa upravia a vo všeobecnosti sa nová hodnota zdroja údajov vráti ako tabuľka.If you specify a data source as an argument for one of these functions, it will modify the records of that data source and, in general, return the data source's new value as a table.

  • Collect, Clear, ClearCollect – vytvoria, vymažú a pridajú do kolekcie.Collect, Clear, ClearCollect - Creates, clears, and adds to a collection.
  • Update, UpdateIf – aktualizujú záznamy, ktoré sa zhodujú s jedným alebo viacerými určenými kritériami.Update, UpdateIf - Updates records that match one or more criteria that you specify.
  • Remove, RemoveIf – odstraňujú záznamy, ktoré sa zhodujú s jedným alebo viacerými určenými kritériami.Remove, RemoveIf - Deletes records that match one or more criteria that you specify.

Tieto vlastnosti sú nastavené na hodnoty, ktoré sú tabuľkami:These properties are set to values that are tables:

  • Items – vzťahujú sa na galérie a polia so zoznamami.Items - Applies to galleries and list boxes. Tabuľka sa zobrazí v galérii.Table to display in the gallery.
  • SelectedItems – vzťahujú sa na polia so zoznamami.SelectedItems - Applies to list boxes. Tabuľka položiek vybratých používateľom.Table of items that the user has selected.

Vzorce záznamovRecord formulas

Môžete vytvoriť vzorec, ktorý vypočíta údaje pre jednotlivý záznam, použije jednotlivý záznam ako argument a poskytne jednotlivý záznam ako vrátenú hodnotu.You can also build a formula that calculates data for an individual record, takes an individual record as an argument, and provides an individual record as a return value. Budeme pokračovať vo vyššie uvedenom príklade s galériou a použijeme vlastnosť Gallery1.Selected na zobrazenie informácií z ľubovolného záznamu, ktorý používateľ v galérii vyberie.Returning to our gallery example above, let's use the Gallery1.Selected property to display information from whatever record the user selects in that gallery.

  1. Pridajte tlačidlo a jeho vlastnosť OnSelect nastavte na tento vzorec:Add a button, and set its OnSelect property to this formula:
    Collect( SelectedRecord, Gallery1.Selected )Collect( SelectedRecord, Gallery1.Selected )

  2. Podržte kláves Alt a vyberte tlačidlo.While holding down the Alt key, select the button.

  3. V ponuke Súbor vyberte možnosť Kolekcie.In the File menu, select Collections.

Tento vzorec vráti záznam, ktorý obsahuje nielen údaje z aktuálne vybratého záznamu v galérii, ale aj každý ovládací prvok v galérii.This formula returns a record that includes not only the data from the record that's currently selected in the gallery but also each control in that gallery. Záznam napríklad obsahuje stĺpec SampleText, ktorý sa zhoduje so stĺpcom SampleText v pôvodnej tabuľke, a stĺpec Subtitle1, ktorý predstavuje označenie obsahujúce údaje z daného stĺpca.For example, the record contains both a SampleText column, which matches the SampleText column in the original table, and a Subtitle1 column, which represents the label that shows the data from that column. Ak chcete podrobnejšie pracovať s údajmi, vyberte ikonu tabuľky v stĺpci Subtitle1.Select the table icon in the Subtitle1 column to drill into that data.

Poznámka

Ak ste pridali aj iné prvky ako tie, ktoré sú určené v tejto téme, stĺpec Subtitle1 sa môže nazývať Subtitle2 a podobne.The Subtitle1 column might be named Subtitle2 or similar if you've added elements other than those that this topic specifies.

Teraz, keď máte vybratý záznam, môžete z neho extrahovať jednotlivé polia pomocou ovládacieho prvku .Now that you have the selected record, you can extract individual fields from it with the . .operator.

  1. Pridajte ovládací prvok Label (Označenie) a potom ho premiestnite do galérie a pod tlačidlo.Add a Label control, and then move it under the gallery and the button.

  2. Nastavte v označení vlastnosť Text na tento výraz:Set the label's Text property to this expression:
    "Selected: " & Gallery1.Selected.SampleHeading"Selected: " & Gallery1.Selected.SampleHeading

Použili ste vlastnosť Selected (Vybraté), ktorá je záznamom, a extrahovali ste z nej vlastnosť SampleHeading.You've taken the Selected property, which is a record, and extracted the SampleHeading property from it.

Záznam môžete použiť ako univerzálny kontajner pre podobné pomenované hodnoty.You can also use a record as a general-purpose container for related named values.

  • Ak vytvoríte vzorec s funkciami UpdateContext a Navigate, použite na zhromaždenie kontextových premenných , ktoré chcete aktualizovať, záznam.If you build a formula around the UpdateContext and Navigate functions, use a record to gather the context variables that you want to update.
  • Ak chcete zhromaždiť zmeny, ktoré vykonal používateľ vo formulári, použitie vlastnosť Updates v ovládacom prvku Edit Form.Use the Updates property on an Edit form control to gather the changes that have been made by the user in a form.
  • Ak chcete aktualizovať zdroj údajov alebo tiež zlúčiť záznamy, použite funkciu Patch.Use the Patch function to update a data source but also to merge records.

Záznam v týchto prípadoch nikdy nebol súčasťou tabuľky.In these cases, the record was never a part of a table.

Funkcie záznamov a vlastnosti ovládacích prvkovRecord functions and control properties

Funkcie, ktoré vracajú záznamy:Functions that return records:

  • FirstN, LastN – vracajú prvý a posledný záznam alebo záznamy tabuľky.FirstN, LastN - Returns the first or last record or records of the table.
  • Lookup – vracia prvý záznam s tabuľky, ktorý spĺňa jedno alebo viacero kritérií.Lookup - Returns the first record from a table that matches one or more criteria.
  • Patch – aktualizuje zdroj údajov alebo zlučuje záznamy.Patch - Updates a data source or merges records.
  • Defaults – vracia predvolené hodnoty zdroja údajov.Defaults - Returns the default values for a data source.

Vlastnosti, ktoré vracajú záznamy:Properties that return records:

  • Selected (Vybraté) – vzťahujú sa na galérie a polia so zoznamami.Selected - Applies to galleries and list boxes. Vráti aktuálne vybratý záznam.Returns the currently selected record.
  • Updates (Aktualizácie) – vzťahuje sa na galérie.Updates - Applies to galleries. Zostaví všetky zmeny, ktoré používateľ vykoná vo formulári na zadávanie údajov.Pulls together all the changes that a user makes in a data-entry form.
  • Update (Aktualizácia) – vzťahuje sa na ovládacie prvky, ako napríklad ovládacie prvky zadávania textu a jazdce.Update - Applies to input controls such as text-input controls and sliders. Nastaví jednotlivé vlastnosti, ktoré sa majú v galérii zostaviť.Sets up individual properties for the gallery to pull together.

Rozsah záznamovRecord scope

Niektoré funkcie pracujú na základe použitia vzorca v každom zázname tabuľky.Some functions operate by evaluating a formula across all the records of a table individually. Výsledok vzorca sa používa rôznymi spôsobmi:The formula's result is used in various ways:

  • Filter, Lookup – vzorec určí, či má byť záznam zahrnutý do výstupu alebo nie.Filter, Lookup - Formula determines if the record should be included in the output.
  • Sort – vzorec poskytuje hodnotu, podľa ktorej sa záznamy zoradia.Sort - Formula provides the value to sort the records on.
  • Concat – vzorec určí reťazce, ktoré sa majú navzájom reťaziť.Concat - Formula determines the strings to concatenate together.
  • ForAll – vzorec vráti ľubovolnú hodnotu, pravdepodobne s vedľajším efektom.ForAll - Formula can return any value, potentially with a side effect.
  • Distinct – vzorec vráti hodnotu, ktorá sa použije na identifikáciu duplicitných záznamov.Distinct - Formula returns a value, used to identify duplicate records.
  • AddColumns – vzorec poskytuje hodnotu pridaného poľa.AddColumns - Formula provides the value of the added field.
  • Average, Max, Min, Sum, StdevP, VarP – vzorec poskytuje hodnotu na agregáciu.Average, Max, Min, Sum, StdevP, VarP - Formula provides the value to aggregate.

V týchto vzorcoch môžete odkazovať na polia spracovávaného záznamu.Inside these formulas, you can reference the fields of the record being processed. Každá z týchto funkcií vytvára „rozsah záznamov“, v ktorom sa vzorec hodnotí, a kde sú polia záznamu k dispozícii ako identifikátory na najvyššej úrovni.Each of these functions creates a "record scope" in which the formula is evaluated, where the fields of the record are available as top-level identifiers. Môžete tiež odkazovať na vlastnosti ovládacích prvkov a iné hodnoty z vašej aplikácie.You can also reference control properties and other values from throughout your app.

Pozrite sa napríklad na tabuľku Produkty:For example, take a table of Products:

Ak chcete zistiť, či niektorý z týchto produktov je žiadaný viac ako je k dispozícii kusov:To determine if any of any of these products had more requested than is available:

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

Prvý argument na filtrovanie je tabuľka záznamov, ktorá sa má spracovať, a druhý argument je vzorec.The first argument to Filter is the table of records to operate on, and the second argument is a formula. Filter vytvorí rozsah záznamov na hodnotenie tohto vzorca, v ktorom sú k dispozícii polia každého záznamu. V tomto prípade sú to polia Product (Produkt), Quantity Requested (Požadované množstvo) a Quantity Available (Množstvo k dispozícii).Filter creates a record scope for evaluating this formula in which the fields of each record are available, in this case Product, Quantity Requested, and Quantity Available. Na základe porovnania sa určí, či každý záznam by mal byť zahrnutý vo výsledku funkcie:The result of the comparison determines if each record should be included in the result of the function:

Na základe tohto príkladu môžeme vypočítať, koľko kusov jednotlivých produktov objednať:Adding to this example, we can calculate how much of each product to order:

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

Tu pridávame k výsledku vypočítaný stĺpec.Here we are adding a calculated column to the result. AddColumns má vlastný rozsah záznamov, ktorý používa na výpočet rozdielu medzi tým, čo sa požaduje, a tým, čo je k dispozícii.AddColumns has its own record scope that it uses to calculate the difference between what has been requested and what is available.

Nakoniec môžeme obmedziť výslednú tabuľku iba na stĺpce, ktoré si prajeme:Finally, we can reduce the result table to just the columns that we desire:

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

Všimnite si, že v uvedenom sme na niektorých miestach použili dvojité úvodzovky (") a na iných zasa jednoduché úvodzovky (').Note that in the above, we used double quotes (") in some places and single quotes (') in other places. Jednoduché úvodzovky sú potrebné pri odkazovaní na hodnotu objektu, ako je napríklad pole alebo tabuľka, ktorého názov obsahuje medzeru.Single quotes are required when referencing the value of an object, such as a field or table, in which the name of the object contains a space. Dvojité úvodzovky sa používajú, keď neodkazujeme na hodnotu objektu, ale o ňom iba hovoríme, najmä v situáciách, v ktorých objekt ešte neexistuje, rovnako ako v prípade vzorca AddColumns.Double quotes are used when we are not referencing the value of an object but instead talking about it, especially in situations in which the object does not yet exist, as in the case of AddColumns.

RozlišovanieDisambiguation

Názvy polí pridané prostredníctvom rozsahu záznamov prepíšu rovnaké názvy z iného miesta v aplikácii.Field names added with the record scope override the same names from elsewhere in the app. Ak sa tak stane, môžete stále pristupovať k hodnotám mimo rozsah záznamov prostredníctvom operátora @ rozlišovania:When this happens, you can still access values from outside the record scope with the @ disambiguation operator:

  • Na prístup k hodnotám z vnorených rozsahov záznamov použite operátor @ s názvom spracovávanej tabuľky a nasledovný vzor:To access values from nested record scopes, use the @ operator with the name of the table being operated upon using this pattern:
    Table[@FieldName]Table[@FieldName]
  • Na prístup ku globálnym hodnotám, ako sú napríklad zdroje údajov, kolekcie a kontextové premenné, použite vzor [@ObjectName] (bez označenia tabuľky).To access global values, such as data sources, collections, and context variables, use the pattern [@ObjectName] (without a table designation).

Ak je spracovávaná tabuľka výrazom, ako napríklad Filter( Table, ... ), nie je možné použiť operátor rozlišovania.If the table being operated upon is an expression, such as Filter( Table, ... ), then the disambiguation operator cannot be used. K poliam v tejto tabuľke má prístup iba najvnútornejší rozsah záznamov nepoužitím operátora rozlišovania.Only the innermost record scope can access fields from this table expression, by not using the disambiguation operator.

Napríklad si predstavte kolekciu X:For example, imagine having a collection X:

Túto kolekciu môžete vytvoriť pomocou vzorca ClearCollect(X, [1, 2] ).You can create this collection with ClearCollect( X, [1, 2] ).

A iná kolekcia Y:And another collection Y:

Túto kolekciu môžete vytvoriť pomocou vzorca ClearCollect( Y, ["A", "B"] ).You can create this collection with ClearCollect( Y, ["A", "B"] ).

Okrem toho definujte kontextovú premennú s názvom Value (Hodnota) týmto vzorcom: UpdateContext( {Value: "!"} )In addition, define a context variable named Value with this formula: UpdateContext( {Value: "!"} )

Dajme to všetko dohromady.Let's put it all together. Nasledujúci vzorec:In this context, the following formula:

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

vytvorí v tomto kontexte túto tabuľku:produces this table:

O čo tu ide?What is going on here? Najokrajovejšia funkcia ForAll definuje rozsah záznamu pre kolekciu X a umožňuje počas spracovania každého záznamu prístup k poľu Value (Hodnota).The outermost ForAll function defines a record scope for X, allowing access to the Value field of each record as it is processed. Pole je prístupné použitím slova Value (Hodnota) alebo pomocou vzorca X[@Value].It can be accessed by simply using the word Value or by using X[@Value].

Najvnútornejšia funkcia ForAll definuje iný rozsah záznamu pre kolekciu Y. Keďže táto tabuľka tiež obsahuje definované pole Value (Hodnota), použitie poľa Value (Hodnota) v tomto kontexte odkazuje na pole v záznamoch kolekcie Y a nie na pole z kolekcie X. Ak chceme pristúpiť k poľu Value (Hodnota) kolekcie X, musíme použiť dlhšiu verziu s operátorom rozlišovania.The innermost ForAll function defines another record scope for Y. Since this table also has a Value field defined, using Value here refers to the field in Y's record and no longer the one from X. Here, to access X's Value field, we must use the longer version with the disambiguation operator.

Keďže kolekcia Y je najvnútornejším rozsahom záznamov, prístup k poliam tejto tabuľky nevyžaduje rozlišovanie, a teda použitím nasledovného vzorca získame rovnaký výsledok:Since Y is the innermost record scope, accessing fields of this table do not require disambiguation, allowing us to use this formula with the same result:

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

Všetky rozsahy záznamov ForAll prepíšu globálny rozsah.All the ForAll record scopes override the global scope. Definovaná kontextová premenná Value (Hodnota) nie je k dispozícii podľa mena bez operátora rozlišovania.The Value context variable we defined is not available by name without the disambiguation operator. Ak chceme pristupovať k tejto hodnote, musíme použiť vzorec [@Value].To access this value we must use [@Value].

Funkcia Ungroup zlúči výsledok, pretože výsledkom vnorených funkcií ForAll by bola vnorená tabuľka s výsledkami.Ungroup flattens the result, since nested ForAll functions will result in a nested result table.

Vnorená syntaxInline syntax

ZáznamyRecords

Výsledky vyjadrujete použitím zložených zátvoriek, ktoré obsahujú hodnoty pomenovaných polí.You express records by using curly braces that contain named field values. Môžete napríklad vyjadriť prvý záznam tabuľky zo začiatku tejto témy pomocou nasledovného vzorca:For example, you can express the first record in the table at the start of this topic by using this formula:

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

Môžete tiež vkladať vzorce do iných vzorcov, ako sa zobrazuje v tomto príklade:You can also embed formulas within other formulas, as this example shows:

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

Záznamy môžete vnárať vnorením zložených zátvoriek, ako sa uvádza v nasledovnom príklade:You can nest records by nesting curly braces, as this example shows:

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

Každý názov stĺpca, ktorý obsahuje špeciálny znak, ako napríklad medzeru alebo dvojbodku, dajte do jednoduchých úvodzoviek.Enclose each column name that contains a special character, such as a space or a colon, in single quotes. Ak chcete v názve stĺpca použiť jednu jednoduchú úvodzovku, zdvojte ju.To use a single quote within a column name, double it.

Všimnite si, že hodnota v stĺpci Cena neobsahuje symbol meny, ako napríklad symbol dolára.Note that the value in the Price column doesn't include a currency symbol, such as a dollar sign. Formátovanie sa použije pri zobrazení hodnoty.That formatting will be applied when the value is displayed.

TabuľkyTables

Tabuľku môžete vytvoriť pomocou funkcie Table a množiny záznamov.You can create a table by using the Table function and a set of records. Tabuľku zo začiatku tejto témy môžete vytvoriť pomocou nasledovného vzorca:You can express the table at the start of this topic by using this formula:

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 } )
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 } )

Tabuľky môžete tiež vnárať:You can also nest tables:

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

Tabuľky hodnotyValue tables

Určením hodnôt v hranatých zátvorkách môžete vytvárať tabuľky s jedným stĺpcom.You can create single-column tables by specifying values in square brackets. Výsledná tabuľka obsahuje jeden stĺpec s názvom Hodnota.The resulting table has a single column, named Value.

Napríklad vzorec [ 1, 2, 3, 4 ] je rovnaký ako Table( { Value: 1 }, { Value: 2 }, { Value: 3 }, { Value: 4 } ) a vráti túto tabuľku:For example, [ 1, 2, 3, 4 ] is equivalent to Table( { Value: 1 }, { Value: 2 }, { Value: 3 }, { Value: 4 } ) and returns this table: