[英]Combine different hierarchy levels using MDX Query
1.说明
现在我有两个mdx查询, 唯一的区别是ON ROWS设置。 这是每个查询及其结果。
查询1:
SELECT
NON EMPTY
{
[PLOwner].[PLOwner].Members
}
ON ROWS
,
NON EMPTY
Crossjoin(
{
[InfoType].[InfoType].[Risk_RecoveryJTDTable],
[InfoType].[InfoType].[Equivalent_Notional],
[InfoType].[InfoType].[Risk_SPC],
[InfoType].[InfoType].[Risk_PSM],
[InfoType].[InfoType].[Risk_PV10],
[InfoType].[InfoType].[Notional],
[InfoType].[InfoType].[Notional_IMM],
[InfoType].[InfoType].[PnL],
[InfoType].[InfoType].[TomorrowPnL],
[InfoType].[InfoType].[RollPnL],
[InfoType].[InfoType].[RollDownPnL],
[InfoType].[InfoType].[Risk_JTD],
[InfoType].[InfoType].[Risk_Raw_KC],
[InfoType].[InfoType].[Risk_RR],
[InfoType].[InfoType].[FundingPnLWCOF],
[InfoType].[InfoType].[FundingPnLRR],
[InfoType].[InfoType].[FundingPnLSHW],
[InfoType].[InfoType].[FundingPnLBox],
[InfoType].[InfoType].[FundingPnLInterest]
}
,
{
DrillDownLevel([Category].[ALL].[AllMember])
}
,
{
DrillDownLevel([Label1].[ALL].[AllMember])
}
,
{
DrillDownLevel([IsError].[ALL].[AllMember])
}
)
ON COLUMNS
FROM
[UnityRiskCube]
WHERE
(
[Measures].[Risk.SUM],
[BusinessGroup].[BusinessGroup].[AeJ Flow Credit],
[Context].[ContextId].[official:Live]
)
结果1 :(我使用Excel来显示Pivot的String [] []结果)
查询2:
SELECT
NON EMPTY
Crossjoin(
{
[PLOwner].[PLOwner].Members
}
,
{
[PLGroup].[PLGroup].Members
}
)
ON ROWS
,
NON EMPTY
Crossjoin(
{
[InfoType].[InfoType].[Risk_RecoveryJTDTable],
[InfoType].[InfoType].[Equivalent_Notional],
[InfoType].[InfoType].[Risk_SPC],
[InfoType].[InfoType].[Risk_PSM],
[InfoType].[InfoType].[Risk_PV10],
[InfoType].[InfoType].[Notional],
[InfoType].[InfoType].[Notional_IMM],
[InfoType].[InfoType].[PnL],
[InfoType].[InfoType].[TomorrowPnL],
[InfoType].[InfoType].[RollPnL],
[InfoType].[InfoType].[RollDownPnL],
[InfoType].[InfoType].[Risk_JTD],
[InfoType].[InfoType].[Risk_Raw_KC],
[InfoType].[InfoType].[Risk_RR],
[InfoType].[InfoType].[FundingPnLWCOF],
[InfoType].[InfoType].[FundingPnLRR],
[InfoType].[InfoType].[FundingPnLSHW],
[InfoType].[InfoType].[FundingPnLBox],
[InfoType].[InfoType].[FundingPnLInterest]
}
,
{
DrillDownLevel([Category].[ALL].[AllMember])
}
,
{
DrillDownLevel([Label1].[ALL].[AllMember])
}
,
{
DrillDownLevel([IsError].[ALL].[AllMember])
}
)
ON COLUMNS
FROM
[UnityRiskCube]
WHERE
(
[Measures].[Risk.SUM],
[BusinessGroup].[BusinessGroup].[AeJ Flow Credit],
[Context].[ContextId].[official:Live]
)
结果2 :(我使用Excel来显示Pivot的String [] []结果)
2.问题
如何使用一个Mdx查询将这些数据汇总在一起? 非常感谢。
我认为您可以使用PLGroup
层次结构的ALL
成员进行合并-您别无选择,因为两者的维数必须相同:
SELECT
NON EMPTY
{
[PLOwner].[PLOwner].Members
*[PLGroup].[PLGroup].[All] //<< or this may be [PLGroup].[All]
,
[PLOwner].[PLOwner].Members
*[PLGroup].[PLGroup].Members
}
ON ROWS
,
NON EMPTY
Crossjoin(
{
[InfoType].[InfoType].[Risk_RecoveryJTDTable],
[InfoType].[InfoType].[Equivalent_Notional],
[InfoType].[InfoType].[Risk_SPC],
[InfoType].[InfoType].[Risk_PSM],
[InfoType].[InfoType].[Risk_PV10],
[InfoType].[InfoType].[Notional],
[InfoType].[InfoType].[Notional_IMM],
[InfoType].[InfoType].[PnL],
[InfoType].[InfoType].[TomorrowPnL],
[InfoType].[InfoType].[RollPnL],
[InfoType].[InfoType].[RollDownPnL],
[InfoType].[InfoType].[Risk_JTD],
[InfoType].[InfoType].[Risk_Raw_KC],
[InfoType].[InfoType].[Risk_RR],
[InfoType].[InfoType].[FundingPnLWCOF],
[InfoType].[InfoType].[FundingPnLRR],
[InfoType].[InfoType].[FundingPnLSHW],
[InfoType].[InfoType].[FundingPnLBox],
[InfoType].[InfoType].[FundingPnLInterest]
}
,
{
DrillDownLevel([Category].[ALL].[AllMember])
}
,
{
DrillDownLevel([Label1].[ALL].[AllMember])
}
,
{
DrillDownLevel([IsError].[ALL].[AllMember])
}
)
ON COLUMNS
FROM
[UnityRiskCube]
WHERE
(
[Measures].[Risk.SUM],
[BusinessGroup].[BusinessGroup].[AeJ Flow Credit],
[Context].[ContextId].[official:Live]
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.