我正在开发SSAS中的销售多维数据集。我有一个名为“发票销售”的实际销售的度量组,以及一个名为“销售预算”的销售预测的度量组。发票销售具有单独的发票行级别详细信息。销售预算是按月估算的。因此,销售预算度量组将其粒度设置为月份级别。我将其设置为在月份级别或更高级别查看多维数据集时显示销售预算编号,当您向下钻取低于月份级别时,预算编号就会消失。
无论如何,发票销售和销售预算都可以使用不同的货币。我正在进行多对多的货币转换,以便用户可以选择所需的货币,并将所有货币转换为它。我已经成功完成了商业智能向导生成的脚本和手动方法,关注这些视频。
https://www.youtube.com/watch?v=DHuqEvphE4I
https://www.youtube.com/watch?v=gMCIu5Nh93M
但是,使用这些方法中的任何一种,如果我尝试在销售预算度量值组中包含任何度量标准,则会出现错误,因为它设置为不同的粒度。我在数据仓库,多维数据集等中的数据模型设置与视频中的数据模型相同,只是我有一个额外的销售预算事实表,与销售事实表一样链接到其他表。我认为没有理由为什么这在逻辑上是不可能实现的,必须有一个解决方法。我正在使用SQL Server 2012 Enterprise SP3。
以下是完成第二个视频后我设置的几个屏幕截图。
答案 0 :(得分:1)
一个简单的解决方案是添加第二个度量组“每月货币汇率”,以每月粒度提供货币汇率。将此新度量值组用于维度“报告货币”与事实“销售预算”之间的M:N关系。
要进行快速测试,请创建“货币汇率”的视图,其中您只选择每月的第一天,并使用日期维度为每月粒度创建一个密钥/ sid。 (如果您在SQL数据库中创建了此视图,请将此视图添加到ssas中的数据源视图中),并将视图作为事实添加到多维数据集并分配每月日期关系和报告货币关系。最后使用您创建的月度货币事实更新维度“报告货币”和事实“销售预算”之间的M:N关系。
修改:不要忘记将衡量事实“销售预算”的度量表达式更改为新的月度货币汇率事实表格度。