Расширение со знаком доллара с использованием выражения
В расширениях со знаком доллара могут использоваться выражения.
Содержимое в скобках должно начинаться со знака «равно»:
$(=expression)
Выражение будет оценено, а значение будет использовано в расширении. Пример.
// returns a string with the current year
$(=Year(Today()));
// returns the year before the selected one
$(=Only(Year)-1);
Пример: Выберите меру, ссылаясь на нее в выражении диаграммы
Скрипт загрузки
Загрузите следующие данные через встроенную загрузку в редакторе загрузки данных:
// Load string “=MinString(Measure)” into variable VSelectMeasure
Let vSelectMeasure = '=MinString(Measure)';
MyTable1: // Create table and load values for Dim and Sales
Load * inline [
Dim, Sales
A, 150
A, 200
B, 240
B, 230
C, 410
C, 330 ];
MyTable2: // Create table and load aggregations as field values for Measure
Load * Inline [
Measure
avg(Sales)
sum(Sales)
count(distinct Dim)];
Для получения дополнительной информации об использовании встроенных загрузок см. Встроенные загрузки.
Объяснение
Скрипт позволяет выбрать меру, ссылаясь на нее в выражении диаграммы. Выражение диаграммы содержит расширение переменной $(=MinString(Measure)). Функция MinString() находит строковые значения в выражении и возвращает первое по алфавиту текстовое значение, в данном случае avg(Sales). Это позволяет решать (и выбирать) в интерактивном режиме, какое выражение использовать в визуализации, не обращаясь к свойствам объекта и не манипулируя ими.
Выходные данные
Создайте следующую таблицу в Qlik Sense с использованием:
Измерение: Dim
Меры:
='$(vSelectMeasure)'
=$(=MinString(Measure))
Avg(Sales)
Таблица. Расширение со знаком доллара с использованием выражения
Dim
='$(vSelectMeasure)'
=$(=MinString(Measure))
Avg(Sales)
Итоги
-
260
260
A
avg(Sales)
175
175
B
avg(Sales)
235
235
C
avg(Sales)
370
370
Пример: Рассчитайте квоту между двумя измерениями
Скрипт загрузки
Загрузите следующие данные через встроенную загрузку в редакторе загрузки данных:
Let vDivision = '=MinString(Numerator) / MinString(Denominator)';
Load recno() as Numerator autogenerate 100;
Load recno() as Denominator autogenerate 100;
Объяснение
Этот сценарий создает пару полей, содержащих по 100 значений, которые выполняют функции числителей и знаменателей при расчете квоты между ними. Мера диаграммы содержит расширение переменной ='$( vDivision )', что позволяет решать (и выбирать) в интерактивном режиме, какую квоту нужно рассчитать.
Выходные данные
Создайте следующую таблицу в Qlik Sense с использованием:
Измерения:
Numerator
Denominator
Мера: ='$(vDivision)
На итоговую квоту (Totals) влияют выбранные значения в полях. Numerator (=5) и Denominator (=3) будут пересчитываться при каждой новой выборке в любом из полей.
Таблица. Расширение со знаком доллара в качестве выражения
Числитель
Знаменатель
='$(vDivision)'
Итоги
-
1,6666666666667
5
3
1,6666666666667
Включение файла
Включение файла выполняется с помощью расширений со знаком доллара. Синтаксис имеет следующий вид:
$(include=filename)
Вышеприведенный текст будет заменен на содержимое файла, указанного после знака равенства. Эта функция оказывается полезной при хранении скриптов и частей скриптов в текстовых файлах.
Для получения дополнительной информации см. Include.
Расширения со знаком доллара и альтернативные состояния
Расширение со знаком доллара обычно не чувствительно к альтернативным состояниям. Однако если у расширения со знаком доллара есть выражение, оно вычисляется в состоянии, относящемся к объекту, в котором расширение со знаком доллара сделано.
Пример.
$(=Sum(Amount))
Будет вычислена функция sum от суммы на основе выборки в состоянии объекта.
Помогла ли вам эта страница?
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!