MDX 中 IIF 函数的错误结果

Wrong Result of IIF function in MDX

我写了一个如下所述的查询:

WITH 
  SET [kpi_study] AS 
    {[study].[study].[BHC June12]} 
  SET [geographic] AS 
    {[territory.market_hierarchy].[state].[HP]} 
  SET [brand] AS 
    {[brand.brand_hierarchy].[brand].[Gold Flake (Unspecified)]} 
  SET [edu12] AS 
    IIF
    (
      'All' = 'All'
     ,[education].[education].MEMBERS
     ,[education].[education].[All]
    ) 
SELECT 
  NON EMPTY 
    {[Measures].[tom]} ON COLUMNS
FROM [funnel_analysis]
WHERE 
  {[kpi_study]*[geographic]*[brand]};

结果:汤姆:4.19

而不是 All 如果我传递 (SSC/HSC) 任何其他值总是相同 value.Can任何帮助我的地方 wrong.it 意味着 IIF 功能无法正常工作。

您有以下内容:

 SET [edu12] AS 
    IIF
    (
      'All' = 'All'
     ,[education].[education].MEMBERS
     ,[education].[education].[All]
    ) 

所以我猜 All 是占位符?! - 你说当你改变其中之一时没有任何反应。

这是因为在您的 select 中您实际上并没有使用名为 [edu12]SET 那么为什么会有任何变化?

SELECT 
  NON EMPTY 
    {[Measures].[tom]} ON COLUMNS
FROM [funnel_analysis]
WHERE 
  {[kpi_study]*[geographic]*[brand]};

[edu12] 应该在行上吗?