Функция резюмирования
Применимо к: Power Pages
Обобщите записи таблицы , сгруппировав их по одному или нескольким столбцам .
Description
Используйте функцию Summarize , чтобы сгруппировать записи таблицы и суммировать столбцы в группе.
Первый аргумент Summarize — это таблица, с которой нужно работать. Остальные аргументы могут располагаться в любом порядке и делятся на две категории:
- Группируйте имена столбцов. Используйте их, чтобы указать, по каким столбцам следует выполнять группировку.
- Формулы резюмирования. Используйте их для суммирования столбцов в таблице ThisGroup . ThisGroup — это таблица, которая содержит все столбцы исходной таблицы, но ограничена только записями одной группы за раз на основе столбцов группы. Каждая формула должна быть названа как имя столбца в таблице результатов.
Таблица в Power Apps считается значением, как любая строка или число. Вы можете указать таблицу в качестве аргумента для функции, и функция может возвращать таблицу. Summarize не изменяет таблицу; вместо этого он принимает таблицу в качестве аргумента и возвращает другую таблицу. Подробнее см. раздел Работа с таблицами.
Делегирование
Summarize может быть делегирован в зависимости от источник данных и сложности формул суммирования. Базовые агрегатные функции, такие как Sum, Average, Max, Min, CountRows и Concat , имеют хорошие шансы быть делегированными.
Если полное делегирование формулы невозможно, среда разработки отмечает часть, которую невозможно делегировать, предупреждением. По возможности следует изменить формулу, чтобы избежать функций и операторов, которые невозможно делегировать.
Для получения дополнительной информации см. обзор делегирования.
Синтаксис
Суммировать( Таблица, GroupByColumnName1 [, GroupByColumnName2 , ... ] [, SummarizeColumns As SummarizeNames, ...] )
- Таблица - Обязательно. Таблица будет обобщена.
- GroupByColumnNames - Требуется хотя бы один. Имена столбцов из таблицы Table, по которой следует сгруппировать записи. Эти столбцы становятся столбцами в итоговой таблице.
- SummarizeColumns - Необязательно. Формула суммирования по таблице ThisGroup для каждой группы.
- SummarizeNames - Требуется для каждого SummarizeColumn. Каждый суммированный столбец должен быть явно назван для выходной таблицы.
Примеры
Простой пример
- Создайте таблицу на своем Power Fx хосте с этим примером данных:
Set( CityPopulations,
Table(
{ City: "London", Country: "United Kingdom", Population: 8615000},
{ City: "Berlin", Country: "Germany", Population: 3562000},
{ City: "Madrid", Country: "Spain", Population: 3165000},
{ City: "Rome", Country: "Italy", Population: 2874000},
{ City: "Paris", Country: "France", Population: 2273000},
{ City: "Hamburg", Country: "Germany", Population: 1760000},
{ City: "Barcelona", Country: "Spain", Population: 1602000},
{ City: "Munich", Country: "Germany", Population: 1494000},
{ City: "Milan", Country: "Italy", Population: 1344000}
)
)
- Оцените следующую формулу:
Summarize( CityPopulations, Country,
Sum( ThisGroup, Population ) As 'Total Population',
Concat( ThisGroup, City, ", " ) As Cities
)
В результате получилась следующая таблица:
Country | Общая численность населения | Города |
---|---|---|
Соединенное Королевство | 8615000 | Лондон |
Германия | 6816000 | Берлин, Гамбург, Мюнхен |
Испания | 4767000 | Мадрид, Барселона |
Италия | 4218000 | Рим, Милан |
Франция | 2273000 | Париж |
Несколько групповых столбцов
- Создайте таблицу на своем Power Fx хосте с этим примером данных:
Set( Inventory,
Table(
{Supplier:"Contoso", Fruit:"Grapes", Price:220, Purchase:Date(2015,10,1), Tags: ["Red","Seedless"]},
{Supplier:"Fabrikam", Fruit:"Lemons", Price:31, Purchase:Date(2015,10,1), Tags: ["Colombia"]},
{Supplier:"Contoso", Fruit:"Lemons", Price:29, Purchase:Date(2015,10,2), Tags: ["Peru"]},
{Supplier:"Contoso", Fruit:"Grapes", Price:210, Purchase:Date(2015,10,2), Tags: ["Green","Seedless"]},
{Supplier:"Fabrikam", Fruit:"Lemons", Price:30, Purchase:Date(2015,10,3), Tags: ["Mexico","Seedless"]},
{Supplier:"Contoso", Fruit:"Bananas", Price:12, Purchase:Date(2015,10,3), Tags: ["Mexico"]}
)
)
- Оцените следующую формулу:
Summarize( Inventory, Supplier, Fruit, Average( ThisGroup, Price ) As 'Average Price' )
Фрукты | Поставщик | Средняя цена |
---|---|---|
Виноград | Contoso | 215 |
Лимоны | Fabrikam | 30.5 |
Лимоны | Contoso | 29 |
Бананы | Contoso | 12 |