Ssas MDX-需要第3+维度示例

Ssas MDX-需要第3+维度示例,ssas,mdx,Ssas,Mdx,我正在努力学习MDX。我是一名经验丰富的SQL开发人员 我试图找到一个MDX查询的例子,它有两个以上的维度。每个讨论MDX的网页都提供了简单的二维示例链接: select {[Measures].[Sales Amount]} on columns, Customer.fullname.members on rows from [Adventure Works DW2012] 我正在寻找使用以下别名的示例:PAGES third dimension?,section forth dimens

我正在努力学习MDX。我是一名经验丰富的SQL开发人员

我试图找到一个MDX查询的例子,它有两个以上的维度。每个讨论MDX的网页都提供了简单的二维示例链接:

select 
{[Measures].[Sales Amount]} on columns,
Customer.fullname.members on rows
from [Adventure Works DW2012]
我正在寻找使用以下别名的示例:PAGES third dimension?,section forth dimension?第五章维度?。我尝试过这个方法,但我认为它不正确:

select 
{[Measures].[Sales Amount]} on columns,
Customer.fullname.members on rows,
customer.Location.[Customer Geography] as pages
from [Adventure Works DW2012]
我正在尝试使用MDX查询获取此输出,该查询来自AdventureWorks DW2012:


在你的截图中,这不是一个三维的结果集,除非从中裁剪出一些东西

差不多

SELECT [Geography].[Country].Members ON 0,
[Customer].[CustomerName].Members ON 1
FROM [whatever the cube is called]
WHERE [Measures].[Sales Amount]
维度/层次结构/级别名称可能不完全正确 将生成一个类似于您的消息中的结果集

我所知道的任何客户端工具中都没有使用beyond二维尺寸和尺寸名称。其他人可能知道不同的情况。它们似乎存在于MDX中,因此MDX可以将>二维结果集传递给能够处理它们的客户端,例如,MDX子查询将其结果传递给主查询

MDX中一个常用的技巧是通过交叉连接将二维构件连接到一个轴上:

挑选 {[Date].[Calendar Date].[Calendar Year]。成员*[Geography].[Country]。成员}位于0, [其他内容]在1
从[Cube]

看以下内容如何-它不会将超过两个维度发送回平面屏幕,但它明确使用了相当多的维度:

我已经组成了维度|层次结构|成员组合,因为我没有访问多维数据集的权限

如果我们考虑内隐维数,则采用如下:

SELECT 
  [Customer].[Location].[Customer Geography]  ON 0,
  [Customer].[fullname].[fullname].&[Aaron Flores] ON 1
FROM [Adventure Works DW2012]
WHERE 
  (
   [Measures].[Sales Amount]
  );
SELECT 
  [Customer].[Location].[Customer Geography]  ON 0,
  [Customer].[fullname].[fullname].&[Aaron Flores] ON 1
FROM [Adventure Works DW2012]
WHERE 
  (
   [Measures].[Sales Amount]
  ,[Date].[Calendar Month].[Calendar Month].[All],
  ,[Geography].[Country].[Country].[All],
  ,[Product].[Product].[All]
  ,...
  ,...
  ....
  );
在切片机上我用了支架。。表示元组,但这实际上是以下内容的简写:

SELECT 
  [Customer].[Location].[Customer Geography]  ON 0,
  [Customer].[fullname].[fullname].&[Aaron Flores] ON 1
FROM [Adventure Works DW2012]
WHERE 
  (
   [Measures].[Sales Amount]
  );
SELECT 
  [Customer].[Location].[Customer Geography]  ON 0,
  [Customer].[fullname].[fullname].&[Aaron Flores] ON 1
FROM [Adventure Works DW2012]
WHERE 
  (
   [Measures].[Sales Amount]
  ,[Date].[Calendar Month].[Calendar Month].[All],
  ,[Geography].[Country].[Country].[All],
  ,[Product].[Product].[All]
  ,...
  ,...
  ....
  );
多维数据集中每个维度的所有成员都可以包含在此切片器中,而不会影响结果


因此,mdx的整个本质是多维的-是的,您的屏幕上只返回了一个二维表格,但是您到达该单元集的方式可能涉及到许多维度。

好的,谢谢。如果客户端工具无法处理多维建模,那么多维建模的意义何在?好问题。MD建模的要点是,它使处理数据变得非常灵活,无论是在查询代码内(如下面whytheq的子查询示例所示),还是在客户端接口本身。你实际上无法得到三维结果集,但你可以选择将轴上的任意尺寸加上任意数量作为切片器进行组合。我相信Excel能够显示三维+结果集。请参阅我原始帖子中的屏幕截图。这是对的吗?我想补充一点,Adventureworks教程虽然有用,但实际上掩盖了MD建模的一些基础知识,因为它浮华浮华,炫耀它能做什么,跳过了基本概念。SSAS过度使用向导创建维度/度量值组,IMHO。通过创建一些简单的客户表、城镇表、销售表等,并从无到有地构建一个多维数据集,您可能会得到更好的介绍。+1作为层次结构的参考,这很有帮助。我猜如果一个透视表引用了三个维度,例如客户、产品和位置,那么它就是三维的即使它以平面结构显示。层次结构允许您向下钻取维度。是这样吗?多维结构是用于客户端应用程序还是仅用于优化存储?我相信Excels Pivot表允许用户查看多维数据结构,但我可能错了——我对这一点还不熟悉。我说得对吗+1.举例说明。我明天会试试。Excel pivot表与olap是在同一时间创建的,我相信它们都使用相同的技术,换句话说,当pivot表只是一个bog标准pivot表时,它在后台使用多维技术。将excel数据透视连接到完整的多维多维多维数据集是访问多维数据集的一种标准方法-这在excel中已经使用了10多年。谢谢。我的原始帖子中的屏幕截图是三维显示吗?我想只要我们有受多个类别维度影响的数字度量,那么我们就处于多维上下文中……因此,是的,屏幕截图是一个平面表,但它仍然是多维数据的一个示例,1个度量和2个维度可见,但很多暗示的其他方面