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

时间:2011-02-21 09:30:35

标签: mysql ssas mdx

嘿所有, 我的问题: 我正在尝试创建一个范围函数,根据日期和货币以及指定的汇率来计算汇率。

我有这个工作正常,但在我的范围函数中我想说 - 如果Dimension.Attribute.member =“Latest”然后使用FXRate 1,否则使用FXRate 2.

现在我甚至有“工作”......但是只有当成员在我的数据集中时才有效...即我不能将它用作参数\过滤器。 我不想告诉用户“你总是必须在每个报告中都有LatestFlag ......只需隐藏列” 我想让用户在开始分析数据之前设置报告参数。

所以这里是我的代码片段到目前为止: 范围({Measures。[Amount]});
范围(离开([ExchangeDate]),[报告货币]。[USD],离开([货币]));
范围({Measures。[Amount]});

这= iif( [最新旗帜]。[旗帜] .CURRENTMEMBER.name =“是”, [报告货币]。[本地] /措施。[Rate2], [报告货币]。[本地] /措施。[费率] );

结束范围;
结束范围; 结束范围;

我怀疑我需要使用另一个Scope而不是iif - 但我不确定如何实现。 有什么想法吗?

哦,重要的是要注意。 FXRate表有两种费率。 房价每日更新。 每天为每种货币重复Rate2。 如此无关紧要的日期,Rate2将始终是该货币的最新汇率。 LatestFlag维度只是一个带有yes和no的表,并且与任何其他表没有任何关系。 我只是将它用作过滤器。

FX表上也有一个标志 - 但是我没有使用它,因为如果它不是最新的价格,我需要考虑日期。

1 个答案:

答案 0 :(得分:1)