在 MDX (s-s-rS) 中执行钻取/在一个一致的维度上连接两个事实表

Posted

技术标签:

【中文标题】在 MDX (s-s-rS) 中执行钻取/在一个一致的维度上连接两个事实表【英文标题】:Perform drill across in MDX (s-s-rS) / joining two fact tables on one conformed dimension 【发布时间】:2014-10-24 05:42:12 【问题描述】:

如何在 MDX 中通过一个一致的维度连接两个事实表?

例如(在 SQL 中)我有 2 个事实表:shipment_facts、return_facts 和一个公共维度产品,它将是:

SELECT
  COALESCE (shp.product, rtn.product) as Product,
  quantity_returned / quantity_shipped as ReturnRate
FROM
  ( SELECT product, sum(quantity_shipped)as quantity_shipped
    FROM shipment_facts, product
    WHERE .....
  ) shp
FULL OUTER JOIN
  ( SELECT product, sum(quantity_returned) as quantity_returned
    FROM return_facts, product
    WHERE....
  ) rtn
 ON
    shp.product = rtn.product

如何使用 MDX(或 s-s-rS)来实现?

【问题讨论】:

【参考方案1】:

如果您查询多维数据集,Analysis Services 会自动处理此问题。只需在行上选择所需的层次结构,并从任何度量值组(这是从事实表派生的 Analysis Services 构造)中选择度量值,结果应该是正确的。

这只要求立方体设计正确。在此上下文中,这主要是指在商业智能开发工作室中的 Cube Editor 的“Dimension Usage”选项卡上的配置。

【讨论】:

非常感谢!我完全失明了!

以上是关于在 MDX (s-s-rS) 中执行钻取/在一个一致的维度上连接两个事实表的主要内容,如果未能解决你的问题,请参考以下文章

MDX 向下钻取查询生成

s-s-rS 图表数据钻取仅返回单行结果

s-s-rS 中的钻取

s-s-rS 向下钻取报告未正确过滤参数

s-s-rS mdx 报告:在列上使用维度

使用图表系列中的参数值在 s-s-rS 2008 中进行钻取报告?