sumMap
Суммирует один или несколько массивов value
в соответствии с ключами, указанными в массиве key
. Возвращает кортеж массивов: ключи в отсортированном порядке, за которыми следуют суммы значений для соответствующих ключей без переполнения.
Синтаксис
sumMap(key <Array>, value1 <Array>[, value2 <Array>, ...])
Тип Array.sumMap(Tuple(key <Array>[, value1 <Array>, value2 <Array>, ...]))
Тип Tuple.
Псевдоним: sumMappedArrays
.
Аргументы
Передача кортежа массивов ключей и значений является синонимом передачи отдельно массива ключей и массивов значений.
Число элементов в key
и во всех массивах value
должно быть одинаковым для каждой строки, которая суммируется.
Возвращаемое значение
- Возвращает кортеж массивов: первый массив содержит ключи в отсортированном порядке, за которым следуют массивы, содержащие суммы значений для соответствующих ключей.
Пример
Сначала мы создаем таблицу под названием sum_map
и вставляем в нее некоторые данные. Массивы ключей и значений хранятся отдельно в колонке под названием statusMap
типа Nested, а вместе — в колонке под названием statusMapTuple
типа tuple для иллюстрации использования двух разных синтаксисов этой функции, описанных выше.
Запрос:
Затем мы запрашиваем таблицу, используя функцию sumMap
, используя как синтаксис массива, так и синтаксис кортежа:
Запрос:
Результат:
Пример с несколькими массивами значений
sumMap
также поддерживает агрегацию нескольких массивов значений одновременно.
Это полезно, когда у вас есть связанные метрики, которые разделяют одни и те же ключи.
В этом примере:
- Результирующий кортеж содержит три массива
- Первый массив: ключи (имена браузеров) в отсортированном порядке
- Второй массив: общее количество показов для каждого браузера
- Третий массив: общее количество кликов для каждого браузера
См. также