【问题标题】:SSAS - Custom TotalSSAS - 自定义总计
【发布时间】:2010-08-28 01:56:46
【问题描述】:

我正在尝试创建一个多维数据集,其中总数取自事实的属性,而不是作为 SSAS 2005 中子项的聚合计算。例如

假设我有 10 家商店,在某一天都有 100 名顾客光顾。然而,一些客户访问了多家商店时存在一些重叠。因此,所有商店所属区域的总访问量是事实数据中提供的手动数字,例如

Storename  Date  StoreTotal  RegionTotal  
Store 1  2008-01-01  10  95  
Store 2  2008-01-01  13  95  
Store 3  2008-01-01  11  95  

等等等等

如何设计多维数据集,大概使用计算的度量,将属性作为总和返回,而不是对子项的度量求和?

期待任何想法。

干杯

【问题讨论】:

    标签: sql database ssas data-warehouse


    【解决方案1】:

    呃,如果我理解正确的话,您是想按原样返回RegionTotal?如何将度量的“聚合函数”设置为“无”。

    【讨论】:

    • 感谢您的回复。如果我在 None 尝试聚合函数,则根本不会返回任何行。老实说,我开始认为这不是对 SSAS 的有效使用,当然不是在多维数据集浏览能力中。就好像它需要一个带有一些逻辑的自定义报告,比如 SSRS。
    • 您可以(也许)修改事实表,以便区域总数包含商店对总数的(估计)贡献,这样区域总数就会汇总。
    • 达米尔,再次感谢您的帮助。我实际上有一些工作,这是一个可怕的黑客。它涉及多维数据集中的 SCOPE 语句以返回总级别的替代度量。我当时遇到的问题是它在叶级别为每一行返回,因此总数是我只想要第一个条目的 RegionTotal 的总和。我最终删除了每个组合键,除了 1 个区域之外的所有区域,这会返回正确的结果,但我相信你会同意它非常难看。再次感谢您的建议,当我有机会更新数据模型时,我会再次处理它。
    【解决方案2】:

    我在多维数据集中添加了一条 MDX 语句以返回总级别的替代度量。我当时遇到的问题是它在叶级别为每一行返回,因此总数是我只想要第一个条目的 RegionTotal 的总和。我最终删除了每个键组合除了 1 个区域之外的所有区域,这返回了正确的结果,但这是一个非常肮脏的解决方法。除非有更精通 MDX 的人提出替代方案,否则我会在某个时候尝试回到这一点。

    【讨论】:

      【解决方案3】:

      您不能根据 CustomerID 创建一个不同的计数度量吗?然后立方体会为你计算这个,你不需要做任何手动操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-13
        • 2021-03-06
        相关资源
        最近更新 更多