[英]SSAS :: MDX :: Scope function :: Exchange Rates
大家好,我的问题:我正在尝试创建一个范围函数,该函数根据日期和货币以及指定的汇率来计算汇率。
我的工作正常,但是在我的作用域函数中,我想说-如果Dimension.Attribute.member =“ Latest”,则使用FXRate 1,否则使用FXRate 2。
现在,我什至拥有那个“有效的”……但仅当该成员在我的数据集中时才有效……也就是说,我不能将其用作参数\\过滤器。 我不想告诉用户“您始终必须在每个报表中都有LatestFlag ...只需隐藏列”,我想让用户能够在开始分析数据之前设置报表参数。
到目前为止,这是我的代码片段:范围({measure。[Amount]});
范围(叶子([ExchangeDate]),[报告货币]。[USD],叶子([Currency]));
范围({措施。[金额]});
这= iif([最新标志]。[标志] .CURRENTMEMBER.name =“是”,[报告货币]。[本地] /度量。[Rate2],[报告货币]。[本地] /度量。[利率] );
最终范围;
最终范围; 最终范围;
我怀疑我需要使用另一个Scope而不是iif-但我不确定如何实现。 有任何想法吗?
哦,可能很重要。 FXRate表具有两个比率。 价格每天更新。 每天对每种货币重复Rate2。 因此,不必担心日期,Rate2将始终是该货币的最新汇率。 LatestFlag维度仅是具有yes和no且与任何其他表没有任何关系的表。 我只是将其用作过滤器。
FX表上也有一个标记-但是我没有使用它,因为如果不是最新汇率,我需要考虑日期。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.