2016-12-05 81 views
2

我在开发SSAS中有一个销售多维数据集。我有一个名为“发票销售额”的实际销售的度量值组,以及名为“销售预算”的销售预测度量值组。发票销售具有单独的发票行级别明细。销售预算是一个月的估算。因此,销售预算衡量组将其粒度设置为月份级别。当您查看月份级别或更高级别的多维数据集时,我将其设置为显示销售预算数字,当您向下钻取低于月份级别时,预算数字消失。SSAS多维度中不同粒度的多币种到多币种转换

无论如何,发票销售额和销售预算都可以使用不同的货币。我正在进行多对多的货币转换,以便用户可以选择所需的货币,并将所有货币都转换为货币。我使用商业智能向导生成的脚本和手动方法成功完成了这些工作。

https://www.youtube.com/watch?v=DHuqEvphE4I

https://www.youtube.com/watch?v=gMCIu5Nh93M

然而,这些方法之一,我得到一个错误,如果我尝试,因为它被设置为不同的粒度包括任何销售预算指标组中的指标。我在数据仓库,多维数据集等中的数据模型的设置与视频中的数据模型完全相同,只不过我有一个额外的事实表,用于与销售事实表链接的其他表的销售预算。我看不出为什么这在逻辑上不可能实现,并且必须有解决方法。我正在使用SQL Server 2012 Enterprise SP3。

下面是我完成第二个视频后的几个屏幕截图。

Data Model

Dimension Usage

Cube Measures

回答

1

简单的解决办法是添加它提供按月粒度汇率第二度量值组“每月货币汇率”。在维度“报告货币”和事实“销售预算”之间使用此新度量值组作为您的M:N关系。

要快速测试,请创建一个事实“货币汇率”的视图,在该视图中,您只选择每月的第一天,并使用日期维度按月精细度创建加入密钥/ sid。 (如果您在SQL数据库中创建此视图,请将此视图添加到您的数据源视图中),然后将该视图作为事实添加到您的多维数据集,并指定月度日期关系和报告货币关系。最后,更新维度“报告货币”和事实“销售预算”之间的M:N关系与您创建的每月货币事实。

编辑:不要忘记更改措施表达式实际上是“销售预算”,以新的月度货币汇率事实表的措施的措施。

+0

那么,非常感谢!如果我不关心使用每日费率,并且这个月的平均费率足够用于两个度量组。我认为我可以通过对销售和预算措施组使用新的月平均汇率表来将其合并到一个货币事实表中。按照这种方式工作。 – bpfrenchak