Вот как сделать это с помощью переменных и выражений. Это создаст 2 новых столбца, которые будут выглядеть как новое измерение, но на самом деле будут определяться использованием оператора if().
Первый шаг в скрипте нам необходимо создать измерение, в котором есть Меры. это не должно связываться ни с одним из столбцов, уже содержащихся в данных. (UDR означает User Defined Report). двойное просто позволяет нам определить порядок сортировки, который не является алфавитным.
UDR:
load dual(UDR,Sort) as Rows inline [
UDR, Sort
Measure1, 1
Measure2, 2];
Результат должен быть примерно таким.
Следующий шаг создание 2 переменных для лет.
Я делаю это в скрипте, но вы можете использовать любой способ создания переменной.
set vMaxYear="=max(Year)";
set vMinYear="=min(Year)";
Теперь мы используем поле Строки как измерение.
И нам нужно создать выражение для максимального выбранного года. Обратите внимание, что первый if()
проверяет, в каких строках UDR это выражение включено, и тогда предоставляется определение выражения для этой строки. Второй if()
проверяет размер года на переменную vMaxYear, которая будет изменяться по мере выбора. Минимальный год - это то же самое, что и vMaxYear вместо vMinYear.
if(Rows='Measure1',sum(if(Year=vMaxYear,Measure1)),
if(Rows='Measure2',sum(if(Year=vMaxYear,Measure2))))
И наконец, мы используем функцию column() для вычисления дисперсии в третьем выражении.
column(1)/column(2)
Для того, чтобы выражение метки динамического я просто добавить =vMinYear
в этикетку.
В результате эта таблица будет соответствовать моим выборам в поле списка года.
2013 против 2014
2014 против 2015
Если не поняли, что вы предлагаете .. Это действительно не работает для меня .. Что вы предлагаете будет работать, если у меня есть 2 выражения в виде столбцов, и мне нужен расчет между ними. Таким образом, вы добавляете новое «выражение» в результате вычисления между двумя другими выражениями. Я хочу добавить новое значение измерения, которое является вычислением между двумя другими значениями измерения (независимо от значений измерения) для всех выражений в таблице. – Adnan
Какой механизм вы используете для изменения размеров? Это определит, как вы можете это сделать, но я не вижу никакой пользы в том, чтобы иметь дисперсию как измерение независимо от того, какой метод вы используете для изменения измерений. Дайте нам знать, как и я расскажу вам, как –