繁体   English   中英

pentaho CDE中的MDX查询

[英]MDX Query in pentaho CDE

我正在尝试创建一个OLAP选择器,该选择器包括返回的字段,还有一个包含其他字段总和的字段。 如何修改此MDX查询以解决此问题:

WITH 
  MEMBER [Measures].[Name] AS 
    [Year].CurrentMember.UniqueName 
SELECT 
  Filter
  (
    {Descendants([Year].[All Years],[Year].[Year])}
   ,(NOT 
      IsEmpty([Year].CurrentMember))
  ) ON ROWS
 ,{[Measures].[Name]} ON COLUMNS
FROM [*My Table*];

我希望选择器显示...“ 2010”“ 2011”“ 2012”“ 2013”​​“ 2014”和“ ALL”

您应该可以将[All]成员添加到行中使用的集合中:

WITH 
  MEMBER [Measures].[Name] AS 
    [Year].CurrentMember.UniqueName 
SELECT 
  {
    [Year].[All Years]
   ,Filter
    (
      {Descendants([Year].[All Years],[Year].[Year])}
     ,(NOT 
        IsEmpty([Year].CurrentMember))
    )
  } ON ROWS
 ,{[Measures].[Name]} ON COLUMNS
FROM [*My Table*];

使用All成员的通用名称,并简化获取Year成员的方式:

WITH 
  MEMBER [Measures].[Name] AS 
    [Year].CurrentMember.UniqueName 
SELECT 
  {
    [Year].[All]
   ,Filter
    (
      [Year].[Year].MEMBERS
     ,(NOT 
        IsEmpty([Year].CurrentMember))
    )
  } ON ROWS
 ,{[Measures].[Name]} ON COLUMNS
FROM [*My Table*];

不清楚您的要求。 但是,如果您希望看到由DESCENDANTS函数的输出得出的所有DESCENDANTS ,则可以尝试在计算所得成员中使用GENERATE函数。

WITH MEMBER Measures.[Years] AS
GENERATE
    (
      Filter
      (
        {Descendants([Year].[All Years],[Year].[Year])}
       ,(NOT 
          IsEmpty([Year].CurrentMember))
      )
      ,
     [Year].[Year].currentmember.member_value 
      , 
     " "
    )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM