我有这个:
SELECT
NONEMPTY(
[Date].[Calendar].[Calendar Year].MEMBERS
)
*
[Measures].[Internet Sales Amount] on 0,
ORDER(
[Customer].[Customer Geography].[State-Province].MEMBERS
,[Measures].[Internet Sales Amount]
,BDESC)
on 1
from [Adventure Works]
按最后日期列排序降序的最有效方法是什么 - 这应该是动态的,以便在我们结束月末时它仍然有效。
答案 0 :(得分:1)
我会用
ORDER(
[Customer].[Customer Geography].[State-Province].MEMBERS
,([Measures].[Internet Sales Amount]
,Tail([Date].[Calendar].[Calendar Year]).Item(0).Item(0)
)
,BDESC)
并假设添加的术语Tail([Date].[Calendar].[Calendar Year]).Item(0).Item(0)
可以由Analysis Services计算,只需检查时间维度,并且不需要任何动态上下文,因此应该很快。
答案 1 :(得分:1)
如果您想要一个独立于列内容的表达式,可以使用:
ORDER([Customer].[Customer Geography].[State-Province].MEMBERS
,Tail(Axis(0)).item(0)
,BDESC)