【问题标题】:How to Apply group by on mdx Query如何在 mdx 查询上应用分组依据
【发布时间】:2018-01-11 10:32:01
【问题描述】:

工作 pentaho 仪表板试图生成报告以获取两个日期之间每天/每周/每月的交易计数。

低于 MDX 查询返回事务计数 1,因为“创建”不是分组依据

WITH
SET [~COLUMNS] AS Filter([created].DefaultMember.Children, [created].CurrentMember.name >= "2014-10-01" AND Left([created].CurrentMember.Name, 10) <= "2014-10-02")
SET [~ROWS] AS
    {[markup].[markup].Members}
SELECT
NON EMPTY CrossJoin([~COLUMNS], {[Measures].[Transaction Count]}) ON COLUMNS,
NON EMPTY [~ROWS] ON ROWS
FROM [transaction]

如何对列“[created]”进行分组

【问题讨论】:

    标签: mdx pentaho pentaho-cde


    【解决方案1】:

    为什么不把度量移到 WHERE 子句中:

    WITH
    SET [~COLUMNS] AS Filter([created].DefaultMember.Children, [created].CurrentMember.name >= "2014-10-01" AND Left([created].CurrentMember.Name, 10) <= "2014-10-02")
    SET [~ROWS] AS
        {[markup].[markup].Members}
    SELECT
    NON EMPTY [~COLUMNS] ON COLUMNS,
    NON EMPTY [~ROWS] ON ROWS
    FROM [transaction]
    WHERE [Measures].[Transaction Count]
    

    【讨论】:

    • 相同的输出不计算日/周/月Please see
    • 您需要更改您创建的维度,使其包含周、月、年等的层次结构
    • 查看 Microsoft Adventure Works 多维数据集中的 Date 维度...我认为 Date 的这种设计会涵盖很多可能性
    猜你喜欢
    • 2012-08-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多