【发布时间】:2017-08-17 19:23:45
【问题描述】:
亲爱的:
我有以下 MDX 查询。
WITH
MEMBER [Measures].[Member Full Path] AS
[Revenuedim_Client].CurrentMember.UniqueName
MEMBER [Measures].[Member Ordinal] AS
[Revenuedim_Client].CurrentMember.Ordinal
SELECT
NON EMPTY
Hierarchize(
Union(
Crossjoin( [Measures].[BeaconAmount_USD] ,
LastPeriods(12,[Date.YQM].lastChild.lastChild.lastChild)
)
,
Crossjoin({[Measures].[Member Ordinal], [Measures].[Member Full Path]},[Date.YQM].[2018])
)
,POST) ON COLUMNS,
TOGGLEDRILLSTATE(
TOGGLEDRILLSTATE(
TOGGLEDRILLSTATE(
TOGGLEDRILLSTATE(
{[Revenuedim_Client].[All Clients] } ,
{[Revenuedim_Client].[All Clients] }
)
, {[Revenuedim_Client].[Group Client - Altria Group Inc.] }
), {}
), {}
) ON ROWS from [Revenue_Client]
这给了我如下输出:
在行上:客户(有 4 个级别可以向下钻取到项目级别) 在列上:12 个月 + 具有完整成员路径的列 在单元格中:收入
查询如何或在哪里可以添加 ORDER 语句,以便根据 12 个月的总收入和大多数收入太少的收入对行进行排序,这适用于 Revenuedim_client 层次结构中的每 4 个级别?
【问题讨论】:
-
订单定义在这里:docs.microsoft.com/en-us/sql/mdx/order-mdx ...您尝试应用了吗?
-
确实,就这么简单:
ORDER( TOGGLEDRILLSTATE( TOGGLEDRILLSTATE( TOGGLEDRILLSTATE( TOGGLEDRILLSTATE( {[Revenuedim_Client].[All Clients]}, {${param_level1_m}} ) , {${param_level2_m}} ), {${param_level3_m}} ), {${param_level4_m}} ) ,[Measures]. ${MarketOrBeacon}, DESC)
标签: mdx