mondrian mdx过滤日期维度中年度级别的集合
mdx新手。 我有一个具有日期维度的查询。年份是整数,并且在水平方向上。 我用的是蒙德里安(via Pentaho) 2012年后我该如何表现?具有整数值的数据年份为2012年、2013年、2014年。 这是一个时间维度;这个水平是一年 如果我从这个查询开始:mondrian mdx过滤日期维度中年度级别的集合,mdx,mondrian,Mdx,Mondrian,mdx新手。 我有一个具有日期维度的查询。年份是整数,并且在水平方向上。 我用的是蒙德里安(via Pentaho) 2012年后我该如何表现?具有整数值的数据年份为2012年、2013年、2014年。 这是一个时间维度;这个水平是一年 如果我从这个查询开始: SELECT [Measures].[SalesMonth] ON COLUMNS, {[YearMonth.CalYearMonth].CalYear.members} ON ROWS FROM [mt_rep
SELECT
[Measures].[SalesMonth] ON COLUMNS,
{[YearMonth.CalYearMonth].CalYear.members} ON ROWS
FROM [mt_report]
我得到了三行的结果
我试试这个:
SELECT
[Measures].[SalesMonth] ON COLUMNS,
Filter({[YearMonth.CalYearMonth].CalYear.members},
[YearMonth.CalYearMonth].CalYear.CurrentMember.Value > 0) ON ROWS
FROM [mt_report]
并返回所有数据(与第一个查询相同)
但是
但这也返回了同样的结果
这很有效
Filter({[YearMonth.CalYearMonth].[CalYear].Members},
[YearMonth.CalYearMonth].[CalYear].CurrentMember.name > '2012')
在MDX中,可以使用,并将NULL作为第二个参数:
如果[YearMonth][2012]是2012年的成员:
SELECT
[YearMonth].[Year].[2013]:NULL on 0
...
使用2012和使用MDX函数也是如此
SELECT
[YearMonth].[Year].[2012].nextMember:NULL on 0
...
在蒙德里安,它一无所获。这被报告为一个bug,但基本上标记为“无法修复”。但根据您的想法,这对Mondrian是有效的:在[YearMonth.CalYearMonth].[CalYear].[2013]:[YearMonth.CalYearMonth].[CalYear].[2013]列上选择{[Measures].[SalesMonth]}。在[mt_report]的行上选择LastSibling
SELECT
[YearMonth].[Year].[2012].nextMember:NULL on 0
...