Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: Aplikace
plátna Copilot Studio
Desktop toky
modelem řízené aplikace
Power Platform CLI
Dataverse functions
Power Pages
Seřadí tabulku.
Poznámka:
PAC CLI příkazy pac power-fx funkci nepodporují SortByColumns .
Description
Funkce Sort seřadí tabulku na základě vzorce.
Vzorec se vyhodnocuje pro každý záznam tabulky a výsledky se používají k seřazení tabulky. Výsledkem vzorce musí být číslo, řetězec nebo logická hodnota. Jeho výsledkem nesmí být tabulka nebo záznam.
Aktuálně zpracovávaná pole záznamu jsou dostupná v rámci vzorce. Použijte operátor ThisRecord nebo jednoduše odkazujte na pole podle jména, jako byste měli jakoukoli jinou hodnotu. Operátor As lze také použít k pojmenování zpracovávaného záznamu, což může usnadnit pochopení vzorce a zpřístupnit vnořené záznamy. Další informace uvádějí následující příklady a práce s rozsahem záznamu.
Pokud chcete řadit nejprve podle jednoho sloupce a potom podle druhého, vložíte Sort vzorec do jiného. Tento vzorec můžete například použít k seřazení tabulky Kontakty jako první podle sloupce Příjmení a potom podle sloupce Jméno : Sort( ( SortKontakty, Příjmení ), Jméno )
Funkci SortByColumns lze také použít k seřazení tabulky na základě jednoho nebo více sloupců.
Seznam parametrů obsahuje SortByColumns názvy sloupců, podle kterých se mají řadit, a směr řazení podle sloupce. Řazení se provádí v pořadí parametrů (řazení nejprve podle prvního sloupce, potom podle druhého atd.) Názvy sloupců jsou zadané jako řetězce, a v případě, že jsou zahrnuté přímo do seznamu parametrů, vyžadují dvojité uvozovky. Například SortByColumns( CustomerTable, "LastName" ).
Pomocí ovládacího prvku Rozevírací seznam nebo Rozevírací seznam můžete uživatelům SortByColumns povolit výběr sloupce, podle kterého se má řadit.
Kromě vzestupného nebo sestupného SortByColumns řazení můžete řadit na základě tabulky s jedním sloupcem hodnot. Můžete třeba řadit záznamy na základě názvu dne v týdnu tak, že jako pořadí řazení zadáte [ "pondělí", "úterý", "středa", "čtvrtek", "pátek", "sobota", "neděle" ]. Všechny záznamy, které obsahují pondělí, budou první, potom budou následovat záznamy s úterým a tak dále. Záznamy, které se v řadicí tabulce nezobrazují, se zařadí na konec seznamu.
Tabulky jsou hodnotou v Power Apps, stejně jako řetězec nebo číslo. Můžou se předávat funkcím a funkce je můžou vracet. Sort a SortByColumn neupravuje tabulku; místo toho přebírají tabulku jako argument a vrátí novou tabulku, která byla seřazena. Další podrobnosti najdete v části týkající se práce s tabulkami.
Delegování
Pokud to je možné, budou Power Apps delegovat operace filtrování a řazení do zdroje dat a na stránku prostřednictvím výsledků na vyžádání. Když například spustíte aplikaci, která obsahuje ovládací prvek Galerie s daty, bude do zařízení na počátku přenesena pouze první sada záznamů. Při procházení zdroj dat poskytuje další data. Výsledkem je rychlejší doba spouštění aplikace a přístup k velmi velkým sadám dat.
Delegování však nemusí být vždy možné. Zdroje dat se liší podle funkcí a operátorů, které při delegování podporují. Pokud není úplné delegování vzorce možné, označí autorské prostředí část, kterou nelze delegovat, varováním. Pokud to je možné, zvažte změnu vzorce tak, aby neobsahoval funkce a operátory, které nelze delegovat. Seznam delegování podrobně uvádí, které zdroje dat a operace lze delegovat.
Pokud delegování není možné Power Apps stáhne pouze malou sadu záznamů pro místní práci. Funkce filtrování a řazení budou fungovat pouze u redukované sady záznamů. Co je dostupné v Galerii nemusí být kompletní, což by mohlo být pro uživatele matoucí.
Další informace viz přehled delegování.
Syntaxe
Sort( Tabulka, vzorec [, Pořadí řazení ] )
- Tabulka – Povinné. Tabulka, která se má seřadit.
- Vzorec – Povinný. Tetno vzorec se vyhodnocuje pro každý záznam tabulky a výsledky se používají k seřazení tabulky. Na sloupce v tabulce můžete odkazovat.
- SortOrder – volitelné. Pokud chcete řadit v sestupném pořadí, zadejte SortOrder.Descending. SortOrder.Ascending je výchozí hodnota.
SortByColumns( Table, ColumnName1 [, SortOrder1, ColumnName2, SortOrder2, ... ] )
Tabulka – Povinné. Tabulka, která se má seřadit.
Názvy sloupců – Povinné. Názvy sloupců, které se budou řadit, jako řetězce.
SortOrders – volitelné. SeřaditPořadí.Vzestupně nebo ŘaditPořadí.Sestupně. SortOrder.Ascending je výchozí. Pokud zadáte více položek NázevSloupce, musí všechny kromě poslední obsahovat PořadíŘazení.
Poznámka:
V případě zdrojů dat SharePoint a Excel obsahujících názvy sloupců s mezerami zadejte každou mezeru jako „_x0020_“. Místo Název sloupce tedy zadejte Název_x0020_sloupce.
SortByColumns( Table, ColumnName, SortOrderTable )
Tabulka – Povinné. Tabulka, která se má seřadit.
ColumnName – povinné. Název sloupce, který se použije k seřazení, jako řetězec.
SortOrderTable – Povinné. Tabulka s jedním sloupcem hodnot, podle kterých se má řadit.
Poznámka:
V případě zdrojů dat SharePoint a Excel obsahujících názvy sloupců s mezerami zadejte každou mezeru jako „_x0020_“. Místo Název sloupce tedy zadejte Název_x0020_sloupce.
Příklady
V následujících příkladech použijeme zdroj datIceCream, který obsahuje data v této tabulce:
| Vzorec | Description | Výsledek |
|---|---|---|
|
Sort( IceCream, Flavor ) SortByColumns( IceCream, "Flavor" ) |
Seřadí tabulku IceCream podle sloupce Flavor. Sloupec Flavor obsahuje řetězce, proto se tabulka seřadí podle abecedy. Pořadí řazení je ve výchozím nastavení vzestupné. |
|
|
Sort( IceCream, Quantity ) SortByColumns( IceCream, "Quantity" ) |
Seřadí tabulku Zmrzlina podle sloupce Množství. Sloupec Množství obsahuje čísla, takže se tabulka seřadí podle čísel. Pořadí řazení je ve výchozím nastavení vzestupné. |
|
|
Sort( IceCream, Quantity, SortOrder.Descending ) SortByColumns( IceCream, "Quantity", SortOrder.Descending ) |
Seřadí tabulku Zmrzlina podle sloupce Množství. Sloupec Množství obsahuje čísla, takže se tabulka seřadí podle čísel. Pořadí řazení jsme zadali jako sestupné. |
|
| Sort( IceCream, Quantity + OnOrder ) | Seřadí tabulku Zmrzlina podle součtu sloupců Množství a Objednáno pro každý záznam samostatně. Součet je číslo, proto bude tabulka seřazená číselně. Pořadí řazení je ve výchozím nastavení vzestupné. Vzhledem k tomu, že řadíme podle vzorce, nikoli podle nezpracovaných hodnot sloupců, neexistuje žádný ekvivalent použití SortByColumns. |
|
|
Sort( Sort( IceCream, OnOrder ), Quantity ) SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Quantity", SortOrder.Ascending ) |
Seřadí tabulku Zmrzlina nejprve podle sloupce Objednáno a potom podle sloupce Množství. Všimněte si, že Pistácie je v prvním řazení podle Objednáno před Vanilkou a že potom se společně přesunuly na jejich příslušné místo podle Množství. |
|
| SortByColumns( IceCream, "Flavor", [ "Pistachio", "Strawberry" ] ) | Seřadí tabulku IceCream podle sloupce Flavor na základě tabulky s jedním sloupcem obsahujícím hodnoty "Pistachio" a "Strawberry". Záznamy, které mají Flavor "Pistachio" se ve výsledku budou zobrazovat první, po nich budou následovat záznamy obsahující příchuť "Strawberry". Hodnoty ve sloupci Flavor, u kterých se nenašla shoda, např. Vanilla, se zobrazí až po položkách, u kterých se shoda našla. |
|
Podrobný postup
Pokud si chcete tyto příklady vyzkoušet sami, vytvořte zdroj dat Zmrzlina jako kolekci:
- Přidejte tlačítko a nastavte jeho vlastnost OnSelect na tento vzorec:
ClearCollect( IceCream, { Příchuť: "Čokoláda", Množství: 100, NaObjednávku: 150 }, { Příchuť: "Vanilka", Množství: 200, NaObjednávku : 20 }, { Příchuť: "Jahoda", Množství: 300, NaObjednávku: 0 }, { Příchuť: "Mátová čokoláda", Množství: 60, NaObjednávku: 100 }, { Příchuť: "Pistácie", Množství: 200, NaObjednávku: 10 } ) - Podívejte se na náhled aplikace, vyberte tlačítko a pak se stisknutím klávesy Esc vraťte do výchozího pracovního prostoru.
- V nabídce Soubor vyberte Kolekce a zobrazte kolekci, kterou jste právě vytvořili. Pak se stisknutím klávesy Esc vraťte do výchozího pracovního prostoru.
Sort
Přidejte další tlačítko a nastavte jeho vlastnost OnSelect na tento vzorec:
ClearCollect( SortByFlavor; Sort( IceCream; Flavor ) )Předchozí vzorec vytvoří druhou kolekci s názvem SortByFlavor, která obsahuje stejná data jako Ice Cream. Nová kolekce ale obsahuje data seřazená podle abecedy ve vzestupném pořadí podle sloupce Flavor.
Stiskněte klávesu F5, vyberte nové tlačítko a pak stiskněte klávesu Esc.
V nabídce Soubor vyberte Kolekce a zobrazte obě kolekce. Pak se stisknutím klávesy Esc vraťte do výchozího pracovního prostoru.
Opakujte poslední tři kroky, ale změňte název kolekce, kterou chcete vytvořit, a nahraďte Sort vzorec jiným vzorcem než tabulka příkladů výše v této části, která používá Sort.
SortByColumns
Přidejte další tlačítko a nastavte jeho vlastnost OnSelect na tento vzorec:
ClearCollect( SortByQuantity; SortByColumns( IceCream; "Quantity"; SortOrder.Ascending; "Flavor"; SortOrder.Descending ) )Předchozí vzorec vytvoří třetí kolekci s názvem PodleMnozství, která obsahuje stejná data jako Zmrzlina. Nová kolekce ale obsahuje data seřazená číselně podle sloupce Quantity ve vzestupném pořadí a pak podle sloupce Flavor v sestupném pořadí.
Stiskněte klávesu F5, vyberte nové tlačítko a pak stiskněte klávesu Esc.
V nabídce Soubor vyberte Kolekce a zobrazte všechny tři kolekce. Pak se stisknutím klávesy Esc vraťte do výchozího pracovního prostoru.
Opakujte poslední tři kroky, ale změňte název kolekce, kterou chcete vytvořit, a nahraďte SortByColumns vzorec jiným vzorcem než tabulka příkladů výše v této části, která používá SortByColumns.