我有一个MDX查询,它从句点获取度量并将其显示为下一个日期级别:
WITH
MEMBER [Creation Date].[2017].[2017/01].[2017/01].[2017/01/11] AS
Aggregate
(
Filter
(
[Creation Date].[Minute].MEMBERS
,
[Creation Date].[Minute].CurrentMember.Name >= '2017/01/11 07:45'
AND
[Creation Date].[Minute].CurrentMember.Name <= '2017/01/11 23:59'
)
)
SELECT
{[Measures].[Sales Count]} ON COLUMNS
,{[Creation Date].[2017].[2017/01].[2017/01].[2017/01/11]} ON ROWS
FROM [Sales Star Schema];
并返回异常: &#39; [创建日期]。[2017]&#39;计算成员不能用作另一个计算成员的父成员。
2017年在聚合表中不包含任何度量值,但如果我尝试这样的查询:
WITH
MEMBER [Creation Date].[2016].[2016/01].[2016/01].[2016/01/11] AS
Aggregate
(
Filter
(
[Creation Date].[Minute].MEMBERS
,
[Creation Date].[Minute].CurrentMember.Name >= '2016/01/11 07:45'
AND
[Creation Date].[Minute].CurrentMember.Name <= '2016/01/11 23:59'
)
)
SELECT
{[Measures].[Sales Count]} ON COLUMNS
,{[Creation Date].[2016].[2016/01].[2016/01].[2016/01/11]} ON ROWS
FROM [Sales Star Schema];
此查询返回正确的值,因为汇总的视图包含2016年,2016/01年度,2016/01/11日的值。 我如何更改我的查询结构,以便它在2017年的值中返回我不是例外,但是空值?
答案 0 :(得分:0)
计算成员是所选层次结构的[All]
成员的子项...但是,如果你打扮它们总是如此,那么只需将它们明确地放在脚本中以避免混淆。
所以我假设有一个名为[Year]
的层次结构:
WITH
MEMBER [Creation Date].[Year].[All].[2016/01/11] AS
Aggregate
(
Filter
(
[Creation Date].[Minute].MEMBERS
,
[Creation Date].[Minute].CurrentMember.Name >= '2016/01/11 07:45'
AND
[Creation Date].[Minute].CurrentMember.Name <= '2016/01/11 23:59'
)
)
MEMBER [Creation Date].[Year].[All].[2017/01/11] AS
Aggregate
(
Filter
(
[Creation Date].[Minute].MEMBERS
,
[Creation Date].[Minute].CurrentMember.Name >= '2017/01/11 07:45'
AND
[Creation Date].[Minute].CurrentMember.Name <= '2017/01/11 23:59'
)
)
SELECT
{[Measures].[Sales Count]} ON COLUMNS
,{
[Creation Date].[Year].[All].[2016/01/11],
[Creation Date].[Year].[All].[2017/01/11]
} ON ROWS
FROM [Sales Star Schema];