Кросс-таблица Кросс-таблица

Компонент создает сводную таблицу на основе исходного набора. При создании таблицы:

  • Часть полей исходного набора остается без изменений, образуя строки сводной таблицы;
  • Значения ячеек другой группы полей образуют колонки сводной таблицы, задавая их заголовки;
  • Данные третьей группы полей участвуют в расчете фактовагрегированных значений на пересечении строк и колонок сводной таблицы.
Пример:

Исходная таблица:

Дата Товар Количество продаж
05.02.2022 Обои 2000
05.02.2022 Затирка 300
07.02.2022 Обои 2000
07.02.2022 Герметик 750
07.02.2022 Грунтовка 400
10.02.2022 Грунтовка 400
10.02.2022 Обои 3000
11.02.2022 Герметик 250

Преобразуем исходную таблицу со следующими параметрами: колонки — Товар, строки — Дата, факты — Количество продаж. По полю Количество продаж выберем функцию агрегации Сумма.

Выходной набор данных:

Дата Герметик Грунтовка Затирка Обои
05.02.2022 300 2000
07.02.2022 750 400 2000
10.02.2022 400 3000
11.02.2022 250

После обработки значения поля Товар перешли в заголовки новых столбцов, значения поля Дата остались в строках, а значения поля Количество продаж просуммированы по датам.

Вход

  • Входной источник данных Входной источник данных — порт для подключения входного набора данных.

Выход

  • Выходной источник данных Выходной набор данных — на порт выводится таблица с обработанными данными.

Мастер настройки

Окно мастера поделено на две области: доступные поля (слева) и выбранные поля (справа).

  • Доступные поля — содержит поля входного набора данных.
  • Выбранные поля — делится на группы.
    • Колонки Колонки.
    • Строки Строки.
    • Факты Факты.
Агрегация фактов и возможные типы данных:
Вид агрегации
Сумма
Количество
Минимум
Максимум
Среднее
Стандартное отклонение
Количество уникальных
Количество пропусков
Первый
Последний                         

В области Доступные поля помимо полей входного набора данных всегда присутствует синтетическое поле Количество, оно может быть добавлено только в группу Факты. В нем будет подсчитано, сколько раз в исходном наборе данных встречается каждая комбинация из колонок и строк.

Колонки

Значения этих полей станут заголовками столбцов. Поля в данной группе обязательно должны иметь дискретный вид данных.

Измерение в колонках

Данная панель может быть открыта следующими способами:

  • в правом верхнем углу;
  • контекстное меню;
  • двойной клик на поле;
  • горячая клавиша F2.
Измерение в колонках
Рисунок 1. Измерение в колонках

При работе с кросс-таблицей может возникнуть ситуация, когда в полях, по которым были сформированы колонки, появляются новые значения. В узле имеется два подхода к решению этой проблемы:

  • Скользящие уникальные значения — заново создает колонки из уникальных значений поля (полей). При изменении значений исходного набора данных вся структура результирующей таблицы полностью перестроится с учетом новых уникальных значений. Также можно установить минимальное число значений поля, из которых будут созданы колонки. Но в этом случае в результирующей таблице сохранится столбец с оставшимися значениями.
Пример:

Входная таблица:

Точка продажи Товар Сумма продажи
СтройРынок Обои 170
СтройРынок Плитка 400

Кросс-таблица с колонкой: Товар.
Для колонки установлено минимальное количество уникальных значений = 4.
Со строкой: Точка продажи.
Фактом: Сумма продажи (Сумма).

Результирующая таблица:

Точка продажи Обои Плитка 3 4
СтройРынок 170 400

Если во входной набор добавился ещё один товар:

Точка продажи Товар Сумма продажи
СтройРынок Обои 170
СтройРынок Плитка 400
СтройРынок Герметик 135

И настройки кросс-таблицы не изменились, то результирующий набор будет следующим:

Точка продажи Обои Плитка Герметик 4
СтройРынок 170 400 135
  • Группа значений — если в исходном поле с момента последней настройки узла появятся новые значения, то при включенном флаге Прочие факты для таких значений будут агрегироваться в столбце Прочие. Установленный флаг Пропущенные обеспечивает отображение в выходном наборе данных полей с пропущенными значениями. Факты для них будут агрегироваться в столбце Пропущенные значения.

Общие настройки для колонок

Общие настройки для колонок
Рисунок 2. Общие настройки для колонок

Расположены в нижней части мастера и имеют следующие параметры:

  • Разделитель частей меток полей — выбирается каким символом будут разделены метки новых полей, при выборе нескольких полей в колонках.
    • . (точка).
    • | (вертикальная линия).
    • ->.
    • Пробел.
  • Скользящие уникальные значения — установка флага позволяет заново создавать колонки из уникальных значений поля (полей). При изменении значений исходного набора данных вся структура результирующей таблицы полностью перестроится с учетом новых значений.
  • Ограничение количества значений — используется, чтобы ограничить максимальное количество колонок в выходном наборе, отбираются первые n сформированных полей, если установленное количество значений больше количества уникальных значений в колонках, то фиктивные столбцы не добавляются.

С помощью кнопок Вверх и Вниз можно менять порядок полей в группе. То, в каком порядке расположены поля, влияет на структуру результирующей таблицы.

Пример:

Исходная таблица:

Точка продажи Товар Сумма продажи Дата
СтройРынок Обои 170 10.04.2022
СтройРынок Плитка 400 10.04.2022
СтройРынок Герметик 135 10.04.2022
Павильон Обои 240 11.04.2022
Павильон Плитка 80 11.04.2022
Павильон Герметик 40 12.04.2022
СтройРынок Обои 130 12.04.2022
Павильон Обои 130 12.04.2022
Павильон Плитка 20 12.04.2022
Павильон Обои 230 13.04.2022
СтройРынок Герметик 65 13.04.2022
Павильон Герметик 260 13.04.2022

Кросс-таблица с порядком колонок: Товар, Точка продажи. Фактом: Сумма продажи (Сумма). И параметром Разделитель частей меток полей: .

Герметик.Павильон Герметик.СтройРынок Обои.Павильон Обои.СтройРынок Плитка.Павильон Плитка.СтройРынок
300 200 600 300 100 400

Кросс-таблица с порядком колонок: Точка продажи, Товар. Фактом: Сумма продажи (Сумма). И параметром Разделитель частей меток полей: .

Павильон.Герметик Павильон.Обои Павильон.Плитка СтройРынок.Герметик СтройРынок.Обои СтройРынок.Плитка
300 600 100 200 300 400

Примечание: Скользящие уникальные значения и Группа значений являются несовместимыми параметрами. То есть при включении одного нет возможности задать второй и наоборот.

Строки

Из значений полей сформируются строки в кросс-таблице. Одинаковые значения поля (полей) будут сгруппированы таким же образом, как это происходит в узле Группировка.

Порядок полей в данной группе влияет на порядок сортировки данных в результирующей таблице по этим полям.

Пример:

Исходная таблица:

Точка продажи Товар Сумма продажи Дата
СтройРынок Обои 170 10.04.2022
СтройРынок Плитка 400 10.04.2022
СтройРынок Герметик 135 10.04.2022
Павильон Обои 240 11.04.2022
Павильон Плитка 80 11.04.2022
Павильон Герметик 40 12.04.2022
СтройРынок Обои 130 12.04.2022
Павильон Обои 130 12.04.2022
Павильон Плитка 20 12.04.2022
Павильон Обои 230 13.04.2022
СтройРынок Герметик 65 13.04.2022
Павильон Герметик 260 13.04.2022

Кросс-таблица с порядком строк: Точка продажи, Дата. Фактом: Сумма продажи (Сумма).

Точка продажи Дата Сумма продажи
Павильон 11.04.2022 320
Павильон 12.04.2022 190
Павильон 13.04.2022 490
СтройРынок 10.04.2022 705
СтройРынок 12.04.2022 130
СтройРынок 13.04.2022 65

Факты

Данные полей в этой группе обрабатываются в соответствии с функциями агрегации. Получившиеся значения отображаются на пересечении колонок и строк. По умолчанию для числовых типов выбрана функция Сумма, а для всех остальных Количество.

Чтобы выбрать другие функции агрегации, необходимо дважды кликнуть по полю. При выборе нескольких вариантов функций каждая из них будет рассчитана в отдельном столбце.

В группе Факты порядок полей не имеет значения.