5

有没有办法创建一个可以进行不同计数但不包括空值的计算度量?例如,如果我有:10、20、20、null;不同的计数是 3,但我可以得到 2 的答案吗?

4

5 回答 5

0

你可以试试这个:

with cte ( "counter" ) as
( 
    select 
        1 as "counter" 
    from 
        "YOURTABLE" 
    group by 
        "COLUMNNAME" 
    having ( "COLUMNNAME" IS NOT NULL )
)
select SUM( "counter" ) from cte

@ 编辑:

更简单的变体:

SELECT COUNT( DISTINCT "COLUMNNAME" ) FROM "TABLENAME"
于 2012-12-18T19:47:05.750 回答
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]))
于 2013-02-25T03:28:10.547 回答
0

只需添加 value 不为 null 和 value "!=''" 就可以了

于 2013-03-08T20:45:00.210 回答
0

将 where 条件放在度量不为空的地方

于 2012-12-17T12:26:46.483 回答
0

有同样的问题 - 令人惊讶的是微软忽略了它......看起来唯一的解决方案是为不同的计数度量组构建一个视图

http://www.sqlservercentral.com/Forums/Topic810069-17-1.aspx#bm1213461

于 2013-02-14T22:04:22.347 回答