GetObjectDimension — функция диаграммы
GetObjectDimension() возвращает имя измерения. Index — дополнительное целое число, обозначающее измерение, которое необходимо вернуть.
Данная функция не поддерживается в следующих расположениях диаграммы: заголовок, подзаголовок, нижний колонтитул, выражение опорной линии и выражение мин./макс.
Создание ссылок на имя измерения или меры в другом объекте при помощи Object ID не поддерживается.
Синтаксис:
GetObjectDimension ([index])
Возвращаемые типы данных: Строка
Пример | Результат |
---|---|
GetObjectDimension ()
GetObjectDimension (0) |
Возвращает имя первого измерения в диаграмме. |
GetObjectDimension (1) | Возвращает имя второго измерения в диаграмме. |
Пример. Основы использования функции GetObjectDimension
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.
Скрипт загрузки содержит следующее:
-
Набор данных, который загружается в таблицу данных под именем Example.
-
Следующие поля в таблице данных:
-
TransactionDate
-
CustomerID
-
TransactionQuantity
-
Скрипт загрузки
Example:
LOAD * INLINE [
TransactionDate, CustomerID, TransactionQuantity
2018/08/30, 049681, 13
2018/08/30, 203521, 6
2018/08/30, 203521, 21
];
Результаты
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
-
TransactionDate
-
CustomerID
-
TransactionQuantity
Создайте следующие меры:
- =GetObjectDimension (), чтобы найти первое измерение в таблице.
- =GetObjectDimension (0), чтобы найти первое измерение в таблице.
- =GetObjectDimension (1), чтобы найти второе измерение в таблице.
TransactionDate | CustomerID | TransactionQuantity | GetObjectDimension () | GetObjectDimension (0) | GetObjectDimension (1) |
---|---|---|---|---|---|
2018/08/30 | 049681 | 13 | TransactionDate | TransactionDate | CustomerID |
2018/08/30 | 203521 | 6 | TransactionDate | TransactionDate | CustomerID |
2018/08/30 | 203521 | 21 | TransactionDate | TransactionDate | CustomerID |
Результаты показывают, как функция GetObjectDimension возвращает имя измерения, указанного в параметрах функции.
Пример. Расширенный сценарий использования GetObjectDimension
Обзор
В этом примере используется функция GetObjectDimension и несколько фильтров. Расчеты измерений и мер, которые отображаются в объекте диаграммы, меняются в зависимости от выбранного фильтра.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.
Скрипт загрузки содержит следующее:
-
Набор данных, загруженный в две встроенные таблицы: Sales и Filter. Первая таблица, Sales, содержит данные о продажах. Вторая таблица, Filter, содержит список имен полей, которые будут использоваться для переключения измерений. Переключаясь, можно переходить между измерениями в диаграмме и настроить таким образом расчет меры, отображаемой в зависимости от выбранного измерения.
-
Таблица Sales содержит следующие поля:
-
Country
-
Salesperson
-
SalesValue
-
-
Следующее поле в таблице Filter: FilterField
Скрипт загрузки
Sales:
LOAD * INLINE [
Country, SalesPerson, SalesValue
USA, John, 500
USA, Alice, 700
Canada, Bob, 300
Canada, Carol, 400
Mexico, Dave, 200
];
Filter:
LOAD * INLINE [
FilterField
Country
SalesPerson
];
Результаты
-
Загрузите данные и откройте лист. Создайте новый фильтр и добавьте это поле в качестве измерения:
-
FilterField
-
-
На панели ресурсов, в разделе Поля, щелкните правой кнопкой мыши по FilterField и выберите Параметры поля. Отметьте Всегда одно выбранное значение, затем нажмите Сохранить.
-
Создайте новую таблицу и добавьте следующее выражение в виде измерения:
-
=$(= FilterField)
-
В разделе Метка определите имя столбца для измерения с помощью следующего выражения: ='$(= FilterField)'
-
-
Создайте следующую меру:
-
=If(GetObjectDimension() = 'Country', Sum(SalesValue), Avg(SalesValue)), чтобы суммировать значения продаж, если выбрано измерение Country, или получить среднее значение продаж, если выбрано измерение SalesPerson.
-
В разделе Label введите это выражение, чтобы определить имя столбца для меры в соответствии с выбранным фильтром: =If(GetObjectDimension() = 'Country', 'Sum(SalesValue)', 'Avg(SalesValue)')
-
В режиме анализа при переключении между SalesPerson и Country в фильтре FieldFilter меняется таблица, в том числе выбранное измерение и соответствующий расчет меры для этого измерения. Например, если выбрать Country в фильтре, в таблице в качестве измерения в первом столбце появится Country. Затем мера использует функцию GetObjectDimension, приравнивает ее к Country и возвращает Sum(SalesValue).
Фильтр и таблица результатов для Country

В следующей таблице показаны результаты, если в фильтре FilterField выбрано Country.
Country | Sum(SalesValue) |
---|---|
Totals | 2100 |
Canada | 700 |
Mexico | 200 |
USA | 1200 |
В следующей таблице показаны результаты, если в фильтре FilterField выбрано SalesPerson.
SalesPerson | Avg(SalesValue) |
---|---|
Totals | 420 |
Alice | 700 |
Bob | 300 |
Carol | 400 |
Dave | 200 |
John | 500 |