我有一个MDX查询,其中我使用的是Parent-Child层次结构,其中任何级别的属性都具有特定值。
现在我想创建一个具有这些特定值的集合并将它们相互减去
我的查询看起来像这样:
WITH
SET [OMS] AS
{
DESCENDANTS(
FILTER([ReportHierarchy].[Hierarchy].MEMBERS,
[ReportHierarchy].[Hierarchy].Properties( "Sum Code" )="OMS")
,,SELF)
}
SET [VF] as {
DESCENDANTS(
FILTER([ReportHierarchy].[Hierarchy].MEMBERS,
[ReportHierarchy].[Hierarchy].Properties( "Sum Code" )="VF")
,,SELF)
}
SELECT
{
[Measures].[Amount],
[Measures].[Budget Amount]
} ON COLUMNS,
{
[OMS],
[VF]
}
on ROWS
FROM
Finance
WHERE
[ReportHierarchy].[Hierarchy Name].&[Income and Balance]
返回此结果:
Amount Budget Amount
Nettoomsætning -126418831.1 -308192540.75
Vareforbrug 65415924.25 159307880.45
现在我想做一个从集合[OMS]中减去SET [VF]的计算...
有人有任何建议吗?
答案 0 :(得分:0)
您需要WITH MEMBER
在最左侧的列中创建新项目。可以设置此新项目以计算一个项目的值减去另一个项目。这与我多年前写的一个旧查询的情况类似:
WITH MEMBER [Actual Time].[MySubtraction]
AS '[Actual Time].[Week].[Week 5] - [Actual Time].[Week].[Week 4]', SOLVE_ORDER=80
SELECT {
[Location].[All Location].[Blah Blah]
} ON ROWS,{
[Actual Time].[Week].members,
[Actual Time].[MySubtraction]
}
ON COLUMNS FROM [CubeName]
WHERE ([Measures].[Whatever])
我的MDX现在变得生疏了,所以我没有试图给你所需的确切查询,抱歉。请查看WITH MEMBER
的文档以了解详情。