日期:2014-05-17  浏览次数:20449 次

mdx语句,如何返回前10行数据(合同金额降序排序)?
要求返回前10行数据(合同金额降序排序):

度量值:[Measures].[合同金额]
维度:[供应商].[供应商名称]
Cube: 合同

------最佳解决方案--------------------
select {[Measures].[合同金额]} on columns,
Order(topcount([供应商].[供应商名称].members,10,[Measures].[合同金额]),DESC) on rows
from [合同]

------其他解决方案--------------------
select {[Measures].[合同金额]} on 0
bottomcount([供应商].[供应商名称],10,[Measures].[合同金额]) on 1
from [合同]
 
------其他解决方案--------------------
select {[Measures].[合同金额]} on 0
order(topcount([供应商].[供应商名称],10,[Measures].[合同金额]),[Measures].[合同金额],desc) on 1
from [合同]

------其他解决方案--------------------
引用:
SQL code


select {[Measures].[合同金额]} on columns,
topcount([供应商].[供应商名称].members,10,[Measures].[合同金额]) on rows
from [合同]

------其他解决方案--------------------
top 语句
------其他解决方案--------------------
select top 10 * from tb order by 合同金额 desc

------其他解决方案--------------------
汗,楼上的诸位,那是t-sql语句,不是mdx哦
------其他解决方案--------------------
topcount参考

http://technet.microsoft.com/zh-tw/library/ms144792%28v=SQL.105%29
------其他解决方案--------------------
使用TOPCOUNT语法,详细自己查帮助,这样有助于记忆呵呵
------其他解决方案--------------------

select {[Measures].[合同金额]} on columns,
topcount([供应商].[供应商名称].members,10,[Measures].[合同金额]) on rows
from [合同]

------其他解决方案--------------------
引用:
SQL code

select {[Measures].[合同金额]} on columns,
topcount([供应商].[供应商名称].members,10,[Measures].[合同金额]) on rows
from [合同]

支持!!
------其他解决方案--------------------
支持!!
------其他解决方案--------------------

select {
[Measures].[合同金额]
}on 0,
{
topcount([供应商].[供应商名称]
.[供应商名称],10,[Measures].[合同金额],desc)
} on 1 from [合同]


------其他解决方案--------------------
该回复于2011-07-26 10:54:06被版主删除
------其他解决方案--------------------
这个还算是基本吧 会用topcount就OK了