# 使用表达式进行货币符号扩展

表达式可用于货币符号扩展。

括号内的内容必须以等号开头：

`$(=expression)`

表达式将被验证，数值也将用于表达式。例如：

```
// returns a string with the current year
$(=Year(Today())); 
```

```
// returns the year before the selected one
$(=Only(Year)-1);
```

## 示例：通过在图表表达式中引用度量来选择度量

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/dollar-sign-expansion-using-expression.htm)

#### 示例：加载脚本

加载脚本

将以下数据作为数据加载编辑中的内联加载载入。

```
// 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)];
```

有关使用内联加载的详细信息，请参见[使用内联加载来加载数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)。

解释

该脚本允许您通过在图表表达式中引用度量来选择度量。图表表达式包含变量扩展 `$(=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 |

## 示例：计算两个维度之间的配额

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/dollar-sign-expansion-using-expression.htm)

#### 示例：加载脚本

加载脚本

将以下数据作为数据加载编辑中的内联加载载入。

```
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](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/Include.htm)。

## 美元扩张与交替状态

美元扩张通常对其他国家不敏感。但如果美元扩张有一个表达式，它是在与美元扩张对象相关的状态下计算的。

例如：

```
$(=Sum(Amount))
```

计算将根据对象状态选择返回金额总和。

## 货币符号扩展与外部集合表达式之间的相互作用

当您将货币符号扩展与外部集合表达式结合时，将应用特定的计算顺序。有关详细信息，请参阅[外集表达式和货币符号扩展](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/outer-set-expression-dollar-sign-expansion.htm)。