如何在 mdx 查询上应用分组依据
Posted
技术标签:
【中文标题】如何在 mdx 查询上应用分组依据【英文标题】:How to Apply group by on mdx Query 【发布时间】: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]”进行分组
【问题讨论】:
【参考方案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 的这种设计会涵盖很多可能性以上是关于如何在 mdx 查询上应用分组依据的主要内容,如果未能解决你的问题,请参考以下文章