我需要计算最后7天的计数值在立方体中。
我编写下一个MDX表达式:
Count
(
Filter
(
Descendants
(
[Date].[Date Hierarchy].CurrentMember.Lag(6)
:
[Date].[Date Hierarchy].CurrentMember
)
,[Measures].[Amount]
)
)数据在层次结构的日级别上是正确的,但是在、月份级别和其他级别上,数据是用来度量持续7个月值的总和的。
更新我想显示月份最后一天的值
示例:
日期_
2017-01-01 \x{5}4
2017-01-02 -4-3
2017-01-03 \x{e76f}3
.
2017-01-31 \x{1}<
发布于 2017-02-06 22:03:46
在lastchild的帮助下,你可以得到一个月的最后七天。它会帮助你度过这个月的最后一天。因此,对于月份级别,可以使用:
Count (
Filter (
{[Date].[Date Hierarchy].CurrentMember.lastchild.Lag(6) :
[Date].[Date Hierarchy].CurrentMember.lastchild}
,[Measures].[Amount]
)
)这里不适合使用后代,因为它返回包含该层次结构的所有子成员的集合。
发布于 2017-02-06 22:48:55
未进行测试,但可能类似于以下内容
COUNT(
//to find the members with values use nonempty
NONEMPTY(
//find the last date in a set
TAIL(
EXISTS( //find the dates associated to the currentmember
[Date].[Date Hierarchy].CurrentMember
,[Date].[Date Hierarchy].[Date Hierarchy].MEMBERS
)
).ITEM(0).LAG(6)
:
TAIL( //find the last date
EXISTS( //find the dates associated to the currentmember
[Date].[Date Hierarchy].CurrentMember
,[Date].[Date Hierarchy].[Date Hierarchy].MEMBERS
)
).ITEM(0)
, [Measures].[Amount]
)
)我安装了一个针对的测试。
如果选择月份,则为:
WITH
MEMBER [Measures].[X] AS
Count
(
NonEmpty
(
Tail
(
Exists
(
[Date].[Calendar].[Date].MEMBERS
,[Date].[Calendar].CurrentMember
)
).Item(0).Lag(6)
:
Tail
(
Exists
(
[Date].[Calendar].[Date].MEMBERS
,[Date].[Calendar].CurrentMember
)
).Item(0)
,[Measures].[Internet Sales Amount]
)
)
SELECT
NON EMPTY
{
[Measures].[Internet Sales Amount]
,[Measures].[X]
} ON 0
,NON EMPTY
[Date].[Calendar].[Month].&[2007]&[7]
:
[Date].[Calendar].[Month].&[2008]&[6] ON 1
FROM [Adventure Works];它按预期返回7:

如果我改变为每日在轴1:
WITH
MEMBER [Measures].[X] AS
Count
(
NonEmpty
(
Tail
(
Exists
(
[Date].[Calendar].[Date].MEMBERS
,[Date].[Calendar].CurrentMember
)
).Item(0).Lag(6)
:
Tail
(
Exists
(
[Date].[Calendar].[Date].MEMBERS
,[Date].[Calendar].CurrentMember
)
).Item(0)
,[Measures].[Internet Sales Amount]
)
)
SELECT
NON EMPTY
{
[Measures].[Internet Sales Amount]
,[Measures].[X]
} ON 0
,NON EMPTY
[Date].[Calendar].[Date].&[20070701]
:
[Date].[Calendar].[Date].&[20080630] ON 1
FROM [Adventure Works];

https://stackoverflow.com/questions/42069684
复制相似问题