如何从SQL Server中的MDX查询中选择限制结果集 [英] How do I select limit the result set from an MDX Query in SQL Server
本文介绍了如何从SQL Server中的MDX查询中选择限制结果集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在为SQL Server 2008编写MDX查询,并且正在尝试查看来自2维交叉连接的数据。可能有太多数据要显示结果,所以我只想返回前10个结果。我怎么能这样做?
当前查询
选择 {[Measures]。[Measure1],[Measures]。[Measure1],[Measures]。[Measure1]} on columns,
crossjoin([Dimension]。[Dimension]。[Dimension]。& [ 123 ],[Dimension2]。[Dimension2] 。[Dimension2]) 行
来自 [多维数据集名称]
我的查询应该是什么样的?
解决方案
使用 TopCount() [ ^ ]功能。请记住,必须已使用订单(MDX) [ ^ ]功能。
选择
{
[Measures]。[Measure1],[Measures]。[Measure1]
,[Measures]。[Measure1]
}
on 列,
topcount(
crossjoin(
[Dimension]。[Dimension]。[Dimension]。& [ 123 ]
,[Dimension2]。[Dimension2]。[Dimension2]
)
, 10
)
行
来自 [多维数据集名称]
I'm writing an MDX query for SQL server 2008 and are trying to look at the data from a crossjoin of 2 dimensions. There is probably too much data to display the result so I just want to return the top 10 results. How can i do this?
Current Query
select {[Measures].[Measure1], [Measures].[Measure1], [Measures].[Measure1]} on columns,
crossjoin([Dimension].[Dimension].[Dimension].&[123], [Dimension2].[Dimension2].[Dimension2]) on rows
from [Cube name]
What Should my query look like?
解决方案
Use the TopCount()[^] function. Remember, the set must already be ordered using the Order (MDX)[^] function.
select { [Measures].[Measure1], [Measures].[Measure1] , [Measures].[Measure1] } on columns, topcount( crossjoin( [Dimension].[Dimension].[Dimension].&[123] , [Dimension2].[Dimension2].[Dimension2] ) ,10 ) on rows from [Cube name]
这篇关于如何从SQL Server中的MDX查询中选择限制结果集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文