聚合时忽略非空值

时间:2014-02-06 20:08:31

标签: ssas

我有一个我用三个独立的措施构建的立方体:“TY Sales”,“LY Sales”和“%Change”,我正在尝试做的是聚合行的特殊行为,基本上没有如果“TY Sales”为0,则总计总计时包括任何“LY Sales”值。所以目前我的立方体的工作方式如下:

        LYSales  TYSales  %Change
Year 1   450      300     -33%
Week 1   100      125     +25%
Week 2   150      175     +14%
Week 3   200       0      +0%

此示例中的汇总列“Year 1”汇总了每个销售量度的所有值。我想要它做的只是在LYSales中包含值,如果TYSales也具有非零值。所以我的理想状态如下:

        LYSales  TYSales  %Change
Year 1   250      300     +20%
Week 1   100      125     +25%
Week 2   150      175     +14%
Week 3   200       0      +0%

我是SSAS的新手,所以我们非常感谢任何指导。感谢

1 个答案:

答案 0 :(得分:0)

实现这一目标的一种简单而可靠的方法是,如果TYSales为零,则将LYSales的源列更改为零。这将在度量所基于的事实表中完成。你可以实现那个

  • 在ETL过程中,当TYSales为零时将LYSales列值更改为零,
  • 或基于事实表的视图,然后在数据源视图中使用而不是原始表,
  • 或作为数据源视图中事实表的计算计算。

在后两种情况下,计算公式将是SQL,如下所示:

case when TYSales <> 0 then LYSales else 0 end

然后切换度量定义以使用该列。

相关问题