Если сводная таблица имеет несколько горизонтальных измерений, текущий сегмент строки будет включать только столбцы с теми же значениями, что и текущий столбец во всех строках с измерениями, кроме строки с последним горизонтальным измерением в межполевом порядке сортировки. Межполевой порядок сортировки для горизонтальных измерений в сводных таблицах определяется просто по порядку измерений сверху вниз.
Примечание к информацииСортировка по значениям y на диаграммах или сортировка по столбцам выражений в таблицах не допускается, если в любом из выражений диаграммы используется эта функция диаграмм. Данные возможности сортировки автоматически отключаются. Когда используется эта функция диаграмм в визуализации или таблице, сортировка визуализации будет возвращена к сортировке на входе этой функции.
Если значение ColumnNo равно 1, диаграмма возвращает нулевое значение. В противном случае возвращается результат Sum(Sales) / Before(Sum(Sales). В этом примере диаграмма будет возвращать значения из столбца 2 и далее, а столбец 1 будет возвращать ноль.
Пример. Основы использования функции ColumnNo
Обзор
Набор данных содержит показатели продаж за квартал. В этом примере значение продаж за каждый период умножается на номер столбца для периода.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, который загружается в таблицу данных под именем Example.
Загрузите данные и откройте лист. Создайте новую сводную таблицу и добавьте это поле как измерение столбца:
Period
Создайте следующую меру:
=Sum(Sales) * ColumnNo(), чтобы вычислить сумму значений продаж, умноженную номер столбца, который в данном примере является кварталом.
Таблица результатов
Q1
Q2
Q3
Q4
1000
4000
9000
16000
Сумма продаж за каждый квартал умножается на результат функции ColumnNo. Например, значение продаж в Q4 равно 4000, а функция ColumnNo возвращает 4, потому что Q4 ― это четвертый столбец. Поэтому выражение меры умножает 4000 на 4 и возвращает 16000.
Пример. Сценарий использования функции ColumnNo
Обзор
Набор данных содержит показатели продаж за квартал. Компания хочет увеличить данные о продажах для Q1 и Q3 (нечетные столбцы) на 5% и увеличить продажи для остальных столбцов (Q2 и Q4) на 10%.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, который загружается в таблицу данных под именем Example.
Загрузите данные и откройте лист. Создайте новую сводную таблицу и добавьте это поле как измерение столбца:
Period
Создайте следующие меры:
=Sum(Sales), чтобы вычислить сумму продаж.
=If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10), чтобы увеличить суммы продаж в нечетных столбцах на 5%, а в остальных столбцах на 10%.
Таблица результатов
Q1
Q2
Q3
Q4
Sum(Sales)
If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10)
Sum(Sales)
If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10)
Sum(Sales)
If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10)
Sum(Sales)
If(Odd(ColumnNo()), Amount * 1.05, Amount * 1.10)
1000
1050
2000
2200
3000
3150
4000
4400
Результаты показывают, что значения продаж в нечетных столбцах, 1 и 3 (Q1 и Q3), увеличилась на 5%, а в оставшихся четных столбцах, 2 и 4 (Q2 и Q4), ― на 10%.
Пример. Расширенный сценарий использования функции ColumnNo
Обзор
В этом примере используется тот же набор данных, что и в предыдущем сценарии, чтобы представить кумулятивный итог значений в каждом периоде.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, который загружается в таблицу данных под именем Example.
Загрузите данные и откройте лист. Создайте новую сводную таблицу и добавьте это поле как измерение столбца:
Period
Создайте следующую меру:
=RangeSum(Before(Sum(Sales), 0, ColumnNo())), чтобы рассчитать кумулятивный итог.
Таблица результатов
Q1
Q2
Q3
Q4
1000
3000
6000
10 000
В этом примере показано, как использовать функцию ColumnNo для создания промежуточного итога. Следующее объяснение дает более подробную информацию о выражении меры: RangeSum(Before(Sum(Sales), 0, ColumnNo())).
Sum(Sales): вычисляет сумму продаж для текущей ячейки в сводной таблице.
Before(Sum(Sales), 0, ColumnNo()): функция Before извлекает значения из предыдущих столбцов сводной таблицы.
Аргумент Sum(Sales) гарантирует, что функция извлекает суммарное значение Sales для предыдущих ячеек.
Значение смещения 0 задает смещение для столбца (остается в текущем сегменте строки текущего столбца).
ColumnNo() определяет, на сколько столбцов нужно вернуться назад при извлечении данных. Функция динамически представляет позицию текущего столбца (например, для столбца 3 ColumnNo() равно 3, поэтому функция просматривает три столбца).
RangeSum(): функция RangeSum вычисляет сумму диапазона предоставленных значений. Она обрабатывает значения NULL, воспринимая их как ноль. В этом выражении RangeSum эффективно генерирует кумулятивный итог, суммируя все предыдущие значения Sales, извлеченные функцией Before(), а также продажи текущей ячейки.
Помогла ли вам эта страница?
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!