-->

SSRS MDX报告:如果行不选择也列dimenstion输出空(SSRS mdx report:

2019-10-24 05:32发布

(这个问题继续线程“SSRS MDX报告:使用维列上” ,由@whytheq回答)

这个正确的代码始建于previouse螺纹:

WITH 
MEMBER [Measures].[Contacts] AS 
       IIF([Sales_step].CURRENTMEMBER IS [Sales_step].&[contact], [Measures].[Qnt], null)
MEMBER [Measures].[Clients] AS 
       IIF([Sales_step].CURRENTMEMBER IS [Sales_step].&[client], [Measures].[Qnt], null)
MEMBER [Measures].[Funded] AS 
       IIF([Sales_step].CURRENTMEMBER IS [Sales_step].&[funded], [Measures].[Qnt], null)

SELECT {[Measures].[Contacts],
        [Measures].[Clients],
        [Measures].[Funded]} ON COLUMNS,

NON EMPTY     
       crossjoin({[City].CHILDREN},                            
                 {[Sales_step].CHILDREN}) ON ROWS 

FROM ( SELECT ( [Sales_step].MEMBERS ) ON COLUMNS
FROM [SALES_PIPE])

它产生正确的结果:

现在我想,以减少行的数量,以一个[市]维才得到结果,如:

要做到这一点我已经试过2次修改代码:

(1)除去CROSSJOIN:

NON EMPTY     
       crossjoin({[City].CHILDREN},                            
                 {[Sales_step].CHILDREN}) ON ROWS

只有一个[城市]维度:

NON EMPTY [City].CHILDREN ON ROWS 

(2)离开交叉连接和提取incapsulate它()FUNC:

       Extract(
       crossjoin({[City].CHILDREN},                            
                 {[Sales_step].CHILDREN}), 
       [City]) ON ROWS 

但是这两个变种给空单元格:

我怎样才能得到短暂的结果只有一个行[市]维度?

Answer 1:

如果你尝试切换您的措施,元组发生了什么?

WITH 
  MEMBER [Measures].[Contacts] AS 
    (
      [Sales_step].&[contact]
     ,[Measures].[Qnt]
    ) 
  MEMBER [Measures].[Clients] AS 
    (
      [Sales_step].&[client]
     ,[Measures].[Qnt]
    ) 
  MEMBER [Measures].[Funded] AS 
    (
      [Sales_step].&[funded]
     ,[Measures].[Qnt]
    ) 
SELECT 
  {
    [Measures].[Contacts]
   ,[Measures].[Clients]
   ,[Measures].[Funded]
  } ON COLUMNS
 ,NON EMPTY 
    [City].Children ON ROWS
FROM 
(
  SELECT 
    [Sales_step].MEMBERS ON COLUMNS
  FROM [SALES_PIPE]
);


Answer 2:

只是有:

SELECT NON EMPTY [City].CHILDREN ON ROWS,
NON EMPTY [Sales_step].CHILDREN ON COLUMNS
FROM [SALES_PIPE]
WHERE ([Measures].[Qnt])


文章来源: SSRS mdx report: dimenstion on columns outputs nulls if not selected on rows also