MDX计算成员 - 任何订单行的总订单金额

时间:2014-01-06 21:36:05

标签: ssas mdx data-warehouse

我需要一个基本的立方体,但我很难找到解决方案。

我有订单事实订单行事实产品维度

  • 订单事实包含订单的不同金额
  • 订单行事实包含订单特定行的不同金额,这是我们找到产品维度
  • 的关键字的地方

当选择产品类别时,我需要能够从订单行事实返回(因为只有此表格包含指向产品维度的链接产品类别上匹配的每个订单行的订单信息的总金额。

例如:

Order 1 -> 100$
Order 1, Line 1 : Category FOO -> 30$
Order 1, Line 2 : Category BAR -> 20$
Order 1, Line 3 : Category FOO -> 50$

Order 2 -> 45$
Order 2, Line 1 : Category FOO -> 45$

如果我做一个简单的查询,如下所示应该返回100 $:

SELECT
  [Measures].[X] ON 0,
  [Product].[Category].&[BAR] ON 1
FROM Cube

查询FOO类别应返回145 $:

SELECT
  [Measures].[X] ON 0,
  [Product].[Category].&[FOO] ON 1
FROM Cube

所以我需要以某种方式将我的订单链接到产品,将我的订单行链接到我的订单。我已将订单金额订单号添加到每个订单行事实但我对如何将其与计算结果一起使用感到迷茫成员满足我的需要。

1 个答案:

答案 0 :(得分:0)

有几种方法可以解决这个问题。无论哪种方式,我都没有看到你需要一个计算成员来满足你的需求。他们碰巧在AdventureWorks 2012多维立方体中拥有这个确切的场景。

他们有一个销售订单维度,包括订单号和订单行。它们将这些作为单独的层次结构,并将它们组合在用户层次结构中。 然后,他们为金额创建了一个销售订单度量组(在订单行级别)。他们将此与销售订单维度和产品维度相关联。这使您可以获得订单的总数或特定产品类别的总数。

您可以下载AdventureWorks 2012 MD多维数据集here并自行查看。