繁体   English   中英

SSAS :: MDX ::范围函数::汇率

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM