0

我有列fact table。某行中的列有值。我'Null'有基于此列的度量,aggregate function设置为DistinctCount

这个度null量值也很重要。但我不想计算null价值我该怎么办?

4

2 回答 2

5

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

于 2013-02-11T09:35:33.657 回答
1

一种流行的有效解决方案是从过滤掉空值的表视图中计数。这行得通,但我敢打赌,它需要对事实表进行另一次扫描。

另一种解决方案就像以火攻毒。
添加一个计算列,如果它为 null,则为 0,如果不是,则为 1:

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

然后你可以在立方体计算中做这样的事情:

iif(_DistinctCountHackLY=2 or _DollarsLY=null,_DistinctUPCLY-1,_DistinctUPCLY)
于 2013-05-03T19:59:29.873 回答