0

在继承现有多维数据集后,我刚刚回到 SSAS,但我不确定如何处理这种情况:

预算事实:

  • 产品
  • 顾客
  • 时间

促销事实: - 产品 - 客户 - 促销 - 时间

我正在寻找结合预算措施组和促销措施组的措施的报告。本质上,我正在尝试获取 Promotion.Discount Value > .4 的客户和产品列表。

这意味着我必须将 Promotion Dimension 拉入我的数据集中,这就是事情开始变得棘手的地方。

关于客户、产品、促销 ID 和促销的报告。金额为 1565 条记录。关于客户、产品和预算的报告。金额为 31 条记录。关于客户、产品、促销 ID、促销金额和预算金额的报告是 179,878 条记录!

我真正想要实现的目标(从 SQL 的角度来看)是返回促销折扣值 > .4 的客户和产品列表,然后将其链接到客户 ID 和产品 ID 上的另一个数据集以获取预算价值。我花了很多时间阅读有关 Dimension Usage 设施等的信息,但似乎没有任何帮助。有什么建议吗?!

4

1 回答 1

0

如果多维数据集已经就位并且构造正确,那么您不必更改 Dimension Usage 中的任何内容。但只是为了确保,当您查看该页面时,您应该看到一个属性名称出现在每个维度与相应度量值组的交集中。根据您的描述,只有 Promotion 和 Budget 的交集应该显示为灰色(空)单元格。

听起来问题是如何编写适当的 MDX 查询。您应该能够使用与此类似的查询生成所需的列表(根据需要更改维度和度量的实际名称):

with
set CustomerProductList as
Filter((Customer.Customer.Customer.Members, Product.Product.Product.Members, Promotion.Promotion.Promotion.Members), 
Val(Promotion.Promotion.CurrentMember.Name) > .4)

select
{Measures.BudgetAmount, Measures.PromotionAmount} on columns,
CustomerProductList on rows
from YourCube
于 2012-07-06T16:57:48.213 回答