【问题标题】:MDX result categorisationMDX结果分类
【发布时间】:2010-11-16 13:53:46
【问题描述】:

我是 mdx 的新手,大约一天以来一直在尝试解决以下问题。任何帮助将不胜感激:

我的查询:

select {[Measures].[Kunden]} ON COLUMNS,
NON EMPTY Hierarchize(Union({CurrentDateMember([dimZeit], "[\di\mZeit] 
\.[yyyy]"), CurrentDateMember([dimZeit], "[\di\mZeit]\.[yyyy]").Children}, 
CurrentDateMember([dimZeit], "[\di\mZeit]\.[yyyy]\.[q]").Children))) ON ROWS
FROM Center

如预期的那样给出以下结果:

Zeit        Kunden
2010        1561
 - Q1       523
 - Q2       470
 - Q3       256
 - Q4       312
  - Nov.    312

现在,我想要实现的是将“Kunden”列拆分为“Kunden 5min”列,这意味着等待时间少于或超过 5 分钟的客户。

我能得到的最接近的是:

WITH 
MEMBER [Measures].[LT5] AS 
Aggregate(
Filter([Measures].[Kunden], [Measures].[Wartezeit] < 3000))
select {[Measures].[LT5]} ON COLUMNS,
NON EMPTY Hierarchize(Union({CurrentDateMember([dimZeit], "[\di\mZeit]\.[yyyy]"), 
CurrentDateMember([dimZeit], "[\di\mZeit]\.[yyyy]").Children}, 
CurrentDateMember([dimZeit], "[\di\mZeit]\.[yyyy]\.[q]").Children)) ON ROWS
FROM Center

结果是:

Zeit        Kunden
2010        -
 - Q1       75
 - Q2       23
 - Q3       86
 - Q4       71
  - Nov.    71

我理解这是因为 2010 年全年的 [Measure].[Wartezeit] 总和超过 3000 秒。但是我想看看等待时间低于 3000 秒的客户数量,所以 2010 年应该是 75+23+86+71 = 255。

【问题讨论】:

    标签: olap mdx cube pentaho mondrian


    【解决方案1】:

    通过在 mondrian 中看起来像这样的 wartezeit 列上创建退化维度来解决它:

    <Dimension name="dauer">
      <Hierarchy hasAll="true">
        <Level name="dauer" column="dauer" uniqueMembers="true">
          <KeyExpression>
            <SQL dialect="generic"> 
               <![CDATA[(case when dauer < 300 then 'LT5' 
                              when dauer < 600 then 'LT10'
                              else 'GT60'
                         end)]]></SQL>
          </KeyExpression>
        </Level>
      </Hierarchy>
    </Dimension>
    

    我的查询的 select 子句现在是一个简单的交叉连接:

    ({[Measures].[Kunden]} * {[dauer].[LT5], [dauer].[LT10], [dauer].[GT60]}) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      相关资源
      最近更新 更多