Pentaho Mondrian MDX-删除父标题

Pentaho Mondrian MDX-删除父标题,mdx,pentaho,mondrian,Mdx,Pentaho,Mondrian,我是Pentaho、Mondrian和MDX的新手。我开始使用Pentaho CE 5.0.1作为OLAP工具。我正在努力处理MDX查询,希望有人能给我一些关于我的问题的建议 我有以下时间维度mondrian模式: `<!-- date dimension --> <Dimension name="Time" type="TimeDimension"> <!-- Year, Quarter, Month, Week, Day -->

我是Pentaho、Mondrian和MDX的新手。我开始使用Pentaho CE 5.0.1作为OLAP工具。我正在努力处理MDX查询,希望有人能给我一些关于我的问题的建议

我有以下时间维度mondrian模式:

`<!-- date dimension -->
<Dimension name="Time" type="TimeDimension">
    <!-- Year, Quarter, Month, Week, Day -->        
    <Hierarchy name="YQMD" hasAll="true" allMemberName="All Dates" primaryKey="date_key" type="TimeDimension">
        <Table name="dim_date" schema="webportal"/>
        <Level name="Year" uniqueMembers="true" column="year4" levelType="TimeYears" type="Numeric"></Level>            
        <Level name="Quarter" uniqueMembers="false" column="quarter_name" levelType="TimeQuarters" type="String"></Level>
        <Level name="Month" uniqueMembers="false" column="month_number" ordinalColumn="month_number" nameColumn="month_number" levelType="TimeMonths" type="Numeric"></Level>
        <Level name="Week" column="week_in_month" uniqueMembers="false" levelType="TimeWeeks"></Level>
        <Level name="Day" column="day_in_month" uniqueMembers="false" ordinalColumn="day_in_month" nameColumn="day_in_month" levelType="TimeDays" type="Numeric"></Level>

    </Hierarchy>
</Dimension>`
MDX查询工作并返回以下数据:

我的问题是:

如何删除MDX中包含2015、2016的前两行


如何删除2016年03-12月的线路?

我怀疑以下情况可能朝着正确的方向发展:

WITH 
  MEMBER [Measures].[YTD] AS 
    Sum
    (
      YTD()
     ,[Measures].[Quotation Status]
    ) 
SELECT 
  NON EMPTY 
    {
      [Measures].[Quotation Status]
     ,[Measures].[YTD]
    } ON COLUMNS
 ,NON EMPTY 
    [Time.YQMD].[Year].MEMBERS 
  * [Time.YQMD].[Month].[Month].MEMBERS HAVING 
  [Measures].[Quotation Status] > 0 ON ROWS
FROM [Broker Portal];

谢谢你的帮助。我试过你的MDX,但运气不好。我尝试了我最初的MDX查询,然后尝试将年份乘以10,看看是否可以进行计算。它不需要工作。我仔细检查了数据库中的年份fiedl是否是一个数字(整数),它是否与模式结构匹配。因此,我不确定为什么我不能执行计算。虽然你的建议很有道理,但我还是要考虑一下。上周五我开始学习MDX,所以对我来说还很早。@Nick玩得开心-这是一种相当神秘的语言-但一旦你掌握了基本知识,就会非常满足。如果你喜欢它,那么试试以下其中一种,它们非常棒:
WITH 
  MEMBER [Measures].[YTD] AS 
    Sum
    (
      YTD()
     ,[Measures].[Quotation Status]
    ) 
SELECT 
  NON EMPTY 
    {
      [Measures].[Quotation Status]
     ,[Measures].[YTD]
    } ON COLUMNS
 ,NON EMPTY 
    [Time.YQMD].[Year].MEMBERS 
  * [Time.YQMD].[Month].[Month].MEMBERS HAVING 
  [Measures].[Quotation Status] > 0 ON ROWS
FROM [Broker Portal];