【问题标题】:MDX - Always return at least one row even if no data is availableMDX - 即使没有可用数据,也始终返回至少一行
【发布时间】:2014-07-25 20:02:56
【问题描述】:

我正在使用以下 MDX 来拉取参数:

WITH
    MEMBER [Measures].[Label] AS [Dim].[Hier].CURRENTMEMBER.NAME
    MEMBER [Measures].[Value] AS [Dim].[Hier].CURRENTMEMBER.UNIQUENAME

SELECT
{
    [Measures].[Label]
    , [Measures].[Value]
}
ON 0,
    NONEMPTY([Dim].[Hier].children, [Measures].[Measure])
ON 1
FROM [Cube]
WHERE 
(
-- Criteria
)

有时,选择某些过滤标准时,查询会导致空集。相反,我希望它在值和标签中都显示“N/A”。它在 MDX 中可行还是我应该使用 SSRS 计算成员来计算结果数据集中的行数并替换?

【问题讨论】:

    标签: reporting-services mdx


    【解决方案1】:

    类似:

    WITH
     SET [MySet] AS  NONEMPTY([Dim].[Hier].children, [Measures].[Measure])
     MEMBER [Measures].[Label] AS [Dim].[Hier].CURRENTMEMBER.NAME
     MEMBER [Measures].[Value] AS [Dim].[Hier].CURRENTMEMBER.UNIQUENAME
     MEMBER [Dim].[Hier].[All(likely)].[N/A] AS 'N/A'
    SELECT
     {[Measures].[Label] , [Measures].[Value] }
    ON 0,
     IIF( count( [MySet] ) = 0, {[Dim].[Hier].[All(likely)].[N/A]}, [MySet] )
    ON 1
    FROM
     [Cube]
    WHERE 
     (-- Criteria)
    

    【讨论】:

    • 像魅力一样工作,感谢您的帮助。但是,有没有一种方法也可以显示“N/A”的值?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2019-05-28
    • 2011-02-19
    • 1970-01-01
    相关资源
    最近更新 更多