集合修饰符和美元符号扩展
美元符号扩展是在解析和计算表达式之前计算的结构。然后将结果注入到表达式中,而不是注入 $(…)。然后使用美元符号扩展的结果计算表达式。
表达式编辑器显示美元符号扩展预览,以便您可以验证美元符号扩展的计算结果。
如果要在元素集中使用计算,请使用美元符号扩展。
例如,如果只想查看上一个可能的年份,可以使用以下构造:
<Year = {$(=Max(Year))}>
Max(Year) 首先被计算,结果将注入表达式中,而不是 $(…)。
货币符号扩展后的结果将是如下表达式:
<Year = {2021}>
美元符号扩展中的表达式是基于当前选择计算的。这意味着,如果在另一个字段中进行了选择,则表达式的结果将受到影响。
如果希望计算独立于选择,则在美元符号扩展中使用集合分析。例如:
<Year = {$(=Max({1} Year))}>
字符串
当您希望美元符号扩展生成字符串时,将应用正常的报价规则。例如:
<Country = {'$(=FirstSortedValue(Country,Date)'}>
货币符号扩展后的结果将是如下表达式:
<Country = {'New Zealand'}>
如果不使用引号,将出现语法错误。
数字
如果希望美元符号扩展生成数字,请确保扩展的格式与字段的格式相同。这意味着您有时需要将表达式包含到格式化函数中。
例如:
<Amount = {$(=Num(Max(Amount), '###0.00'))}>
货币符号扩展后的结果将是如下表达式:
<Amount = {12362.00}>
使用散列强制扩展始终使用小数点,并且不使用千位分隔符。例如:
<Amount = {$(#=Max(Amount))}>
日期
如果希望美元符号扩展生成日期,请确保扩展设定正确格式。这意味着您有时需要将表达式包含到格式化函数中。
例如:
<Date = {'$(=Date(Max(Date)))'}>
货币符号扩展后的结果将是如下表达式:
<Date = {'12/31/2015'}>
与字符串一样,您需要使用正确的引号。
一个常见的用例是,您希望将计算限制在最后一个月(或一年)。然后可以将数字搜索与 AddMonths() 函数结合使用。
例如:
<Date = {">=$(=AddMonths(Today(),-1))"}>
货币符号扩展后的结果将是如下表达式:
<Date = {">=9/31/2021"}>
这将选出上个月发生的所有事件。
示例:带美元符号扩展的集合修饰符的图表表达式
示例 | 结果 |
---|---|
sum( {$<Year = {$(#vLastYear)}>} Sales ) |
返回与当前选择项相关的上一年的销售额。此处,将包含相关年份的变量 vLastYear 用于美元符号扩展。 |
sum( {$<Year = {$(#=Only(Year)-1)}>} Sales ) |
返回与当前选择项相关的上一年的销售额。在这里,美元符号扩展被用于计算上一年份。 |