使用表达式进行货币符号扩展
表达式可用于货币符号扩展。
括号内的内容必须以等号开头:
$(=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)'
结果配额(总计)受字段中选定值的影响。 Numerator (=5) 并且 Denominator (=3) 并将使用任一字段中的每个新选择重新计算。
分子 |
分母 |
='$(vDivision)' |
---|---|---|
总计 |
- |
1,6666666666667 |
5 |
3 |
1,6666666666667 |
包括文件
使用货币符号扩展包括文件。相应语法为:
$(include=filename)
上述文本会替换为等号之后指定的文件的内容。此功能在文本文件中存储脚本或部分脚本时有用。
有关更多信息,请参阅Include。
美元扩张与交替状态
美元扩张通常对其他国家不敏感。但如果美元扩张有一个表达式,它是在与美元扩张对象相关的状态下计算的。
例如:
$(=Sum(Amount))
计算将根据对象状态选择返回金额总和。