有没有办法创建一个可以进行非常计数但不包括空值的计算度量?例如,如果我有:10,20,20,null;不同的计数是3,但我可以得到2的答案吗?
答案 0 :(得分:0)
放在哪里条件 到度量不为空的地方
答案 1 :(得分:0)
with cte ( "counter" ) as
(
select
1 as "counter"
from
"YOURTABLE"
group by
"COLUMNNAME"
having ( "COLUMNNAME" IS NOT NULL )
)
select SUM( "counter" ) from cte
@ edit:
非常容易的变体:
SELECT COUNT( DISTINCT "COLUMNNAME" ) FROM "TABLENAME"
答案 2 :(得分:0)
有同样的问题 - 这是惊人的微软忽略它...看起来唯一的解决方案是为不同的计数测量组建立一个视图
http://www.sqlservercentral.com/Forums/Topic810069-17-1.aspx#bm1213461
答案 3 :(得分:0)
感谢您的所有答案。但是,我在这里找到了最适合我需求的解决方案:http://richardlees.blogspot.com/2008/10/alternative-to-physical-distinct-count.html
使用以下内容创建计算成员:
count(nonempty({[DimName].[HierarchyName].[LevelName].members-[DimName].[HierarchyName][All].UNKNOWNMEMBER},[Measures].[MyMeasure]))
答案 4 :(得分:0)
只需添加值不为null的值,并将值“!=''”添加到应该执行的操作