3

如何删除底部计数中的空值,即。我只想查看实际销售单位的产品,我尝试过非空和非空但没有成功。

with
member [Measures].[Amount Sold] as
    ([Measures].[Internet Sales Amount]),
format_string = "currency"

select {[Measures].[Amount Sold]}
on columns,
bottomcount(
order(

{[Product].[Product].Members},
([Measures].[Amount Sold]), bdesc),
5 )on rows
4

1 回答 1

3

您可以过滤 [Product].Members 使用NOT ISEMPTY()以排除所有空值,然后对过滤后的集合进行底部计数。

with member [Measures].[Amount Sold] as
    ([Measures].[Internet Sales Amount]),
    format_string = "currency"
select 
    {[Measures].[Amount Sold]} on columns,
    order(
        bottomcount(
            filter({[Product].[Product].Members}, NOT ISEMPTY([Measures].[Amount Sold])),
            5,
            [Measures].[Amount Sold]),
        [Measures].[Amount Sold], bdesc) on rows
from [Adventure Works]

请注意,BottomCount()它将执行升序、中断层次排序,因此Order()如果您想要降序,则需要在其之上进行。

于 2013-04-03T20:20:17.977 回答