我想知道下面发生了什么。为什么以下MDX
查询提供不同的输出?
注意:[Measures]。[Claim Of Of - Count]是一个计算的度量(我们使用表格模型方法)。 [事故日期]是此措施背后的DAX计算的一部分。此度量与使用[事故日期]维度的另一个度量(在计算中)相关。
查询1
- 错误消息:检测到无限递归。依赖循环是:sumallsales - > sumallsales。
WITH
MEMBER [Accident Date].[Year].sumallsales AS
Sum
(
[Accident Date].[MOnth].MEMBERS
,[Measures].[Claim As Of - Count]
)
MEMBER [Accident Date].[Year].aggregateallsales AS
Aggregate
(
[Accident Date].[MOnth].MEMBERS
,[Measures].[Claim As Of - Count]
)
SELECT
{
[Accident Date].[Year].sumallsales
,[Accident Date].[Year].aggregateallsales
} ON 0
,[Client].[Client Name].MEMBERS ON 1
FROM [AW Cube];
查询2
---所有空值
WITH
MEMBER [Accident Date].[Year].sumallsales AS
Sum
(
[Accident Date].[MOnth].[all]
,[Measures].[Claim As Of - Count]
)
MEMBER [Accident Date].[Year].aggregateallsales AS
Aggregate
(
[Accident Date].[MOnth].[all]
,[Measures].[Claim As Of - Count]
)
SELECT
{
[Accident Date].[Year].sumallsales
,[Accident Date].[Year].aggregateallsales
} ON 0
,[Client].[Client Name].MEMBERS ON 1
FROM [AW Cube];
查询3
---相等且正确
WITH
MEMBER [Accident Date].[Year].sumallsales AS
Sum
(
[Accident Date].[Year].[all]
,[Measures].[Claim As Of - Count]
)
MEMBER [Accident Date].[Year].aggregateallsales AS
Aggregate
(
[Accident Date].[Year].[all]
,[Measures].[Claim As Of - Count]
)
SELECT
{
[Accident Date].[Year].sumallsales
,[Accident Date].[Year].aggregateallsales
} ON 0
,[Client].[Client Name].MEMBERS ON 1
FROM [AW Cube];
查询4
---所有空值
WITH
MEMBER [Accident Date].[Year].sumallsales AS
Sum
(
[Accident Date].[Year].CurrentMember
,[Measures].[Claim As Of - Count]
)
MEMBER [Accident Date].[Year].aggregateallsales AS
Aggregate
(
[Accident Date].[Year].CurrentMember
,[Measures].[Claim As Of - Count]
)
SELECT
{
[Accident Date].[Year].sumallsales
,[Accident Date].[Year].aggregateallsales
} ON 0
,[Client].[Client Name].MEMBERS ON 1
FROM [AW Cube];
查询5
---使用sum函数的值是使用aggregate
的值的两倍WITH
MEMBER [Accident Date].[Year].sumallsales AS
Sum
(
[Accident Date].[Year].MEMBERS
,[Measures].[Claim As Of - Count]
)
MEMBER [Accident Date].[Year].aggregateallsales AS
Aggregate
(
[Accident Date].[Year].MEMBERS
,[Measures].[Claim As Of - Count]
)
SELECT
{
[Accident Date].[Year].sumallsales
,[Accident Date].[Year].aggregateallsales
} ON 0
,[Client].[Client Name].MEMBERS ON 1
FROM [AW Cube];