INF: MDX: 如何查询在 10 最佳客户和在前 5 种产品的每个客户

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 304386
本文已归档。它按“原样”提供,并且不再更新。
概要
对于任何企业的一个常见问题是谁是我们 10 的最佳客户和 5 前产品购买的是什么?本文介绍如何使用一个应答对前面的问题,通过使用命名集的多维表达式 (MDX) 查询。
更多信息
下面是针对 FoodMart 2000 数据库与 Microsoft Analysis Services 2000 提供的示例查询。它还提供了与 Analysis Services 的 MDX 示例应用程序中,您可以运行下面的查询。

--The top 10 customers can be defined in a named set, using the TopCount--function to limit the set and to return the names of the customers with--the 10 highest Units Sales for the year 1997. WITH SET Top10Cust AS 'TopCount( { [Customers].[Name].Members }, 10, ([Time].[1997], [Unit Sales]) )'--Then use the Generate and CrossJoin functions in the body of the query--to combine the Top10Cust Named Set with the top 5 products for those--customers. SELECT { [Time].[1997] } ON COLUMNS , Generate( {Top10Cust}, CrossJoin( {Customers.CurrentMember}, TopCount([Product].[Product Name].Members, 5, ([Time].[1997], [Unit Sales])))) ON ROWS FROM [Sales] 				

引用

有关 生成CrossJoin,和 TopCount MDX 函数以及命名集有关的详细信息请参阅 Microsoft SQL Server 2000 联机丛书。
OLAP BIHowto MDX 示例的示例

警告:本文已自动翻译

属性

文章 ID:304386 - 上次审阅时间:12/06/2015 04:20:12 - 修订版本: 2.2

Microsoft SQL Server 2000 Analysis Services

  • kbnosurvey kbarchive kbmt kbinfo KB304386 KbMtzh
反馈