我在fact table
中有列。某行中的列的值为'Null'
。我根据此列进行了衡量,aggregate function
设置为DistinctCount
此度量计数null
也是如此。
但我不想计算null
值我应该做什么?
答案 0 :(得分:5)
最有效的方法是在数据源视图中过滤掉NULL值(例如,使用命名查询)。这不会对性能产生太大影响,因为无论如何都会在单独的度量组中计算出不同的计数度量。
答案 1 :(得分: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)