我正在为以下问题寻找优化的解决方案-
我有一个包含日期维度的多维数据集,它有一个层次结构:月->季度->年。
我已经创建了一个立方体,一切正常。现在,我的ssrs报告需要我的所有维度客户销售属性,以及上个月利润、当前月利润、最近6个月利润(每月列出)、上个月交易、去年利润与本年度利润的计算。
因为我已经创建了一个层次结构,我每个月、每年和每个季度的所有计算都已经在立方体中预先计算过了。现在,为了检索上面列出的计算,执行这些时间计算的最佳方法是什么?将这些计算放在多维数据集中还是放在SSRS数据集中?
你能推荐一些好的方法和方法吗?
发布于 2012-07-14 03:29:21
尽管如果您熟悉MDX,当然也可以编写查询来将所有这些计算放入数据集中,但为了提高许多报表的可重用性,将这些类型的计算放入多维数据集中通常是更好的做法。这样,如果您决定使用Excel或第三方应用程序,其他工具也可以使用时间计算。
您可以使用计算选项卡中的商业智能向导来完成此操作-这里有一篇适用于SSAS2005的文章,该文章仍然适用于以后的版本:http://www.obs3.com/pdf/A%20Different%20Approach%20to%20Time%20Calculations%20in%20SSAS.pdf
这里有另一种类似的方法:http://www.bidn.com/articles/mdx-and-dmx/169/mdx-time-calculations-done-the-right-way
更新:有关处理最近6个月的日期范围的命名集,请参阅本文:http://my.opera.com/duncans/blog/using-custom-sets-in-analysis-services-to-deliver-special-date-ranges-to-end-use
发布于 2012-07-16 21:00:43
不确定我是否理解您,但问题是您需要获取动态值,并且所有内容都是硬编码的?
您可以使用prevmemebr函数获取层次结构中的前一个成员:
([Date].[Calendar].PrevMember, <your measure here>)其中,日期是维,日历是层次结构。因此,如果您按月浏览,它将获取最近几个月的数据,例如
发布于 2012-10-02 10:11:16
您必须使用mdx查询来计算上个月利润、本月利润、最近6个月利润作为多维数据集“计算”中的度量。我最近在我的“收入比较报告”中这样做,我计算了last month's revenue、last2monthsrevenue和priorquarterrevenue,并使用了它们。啊,真灵!
https://stackoverflow.com/questions/11467704
复制相似问题