2013-02-09 36 views
1

我在fact table列在某些行.the专栏'Null' value.i已经基于与aggregate function设置为DistinctCountIN SSAS如何在不同的计数措施

这一措施计null值此列措施删除空值太。 但我不想数null值我该怎么办?

回答

5

最有效的方法是在数据源视图中过滤掉NULL值(例如使用命名查询)。这不会影响性能,因为不同的计数度量是在单独的度量组中计算的。

+0

看起来这是唯一的出路 - 这是惊人的微软忽略了这个问题 – mishkin 2013-02-14 22:05:09

1

一个受欢迎的解决方案的工作原理是从表格中筛选出空值的计数。这有效,但我敢打赌,它需要对事实表进行另一次扫描。

另一种解决方法就像用火扑灭火灾。
添加一个计算列,它是0,如果是零和1,如果它不是:

CASE WHEN _DollarsLY IS NULL THEN 0 ELSE 1 END AS _DistinctCountHackLY 

然后,你可以做这样的事情在一个多维数据集的计算:

iif(_DistinctCountHackLY=2 or _DollarsLY=null,_DistinctUPCLY-1,_DistinctUPCLY)