0

我创建了 XMLA 以增量方式处理多维数据集。它对维度使用“ProcessUpdate”类型,对测量分区使用“ProcessAdd”类型。我在不同的计数上面临一个问题。让我举一个例子:

Order Id    CustId  Amount

1       C1  100.00

2       C2  200.00

3       C3  300.00

4       C4  400.00

5       C5  500.00

如果我们浏览多维数据集,SSAS 显示订单总和为 1500.00,所有订单的不同客户计数为 5。现在添加新的事实记录以取消一个订单,例如:

Order Id    CustId  Amount

3       C3  -300.00

增量处理后,显示订单总和为 1200.00,即正确。但是所有订单的不同客户数量保持不变并显示 5,这是不正确的。我可以理解,这些行正在附加到适用于求和运算的增量过程中,但无法计算不同的计数。我想知道是否有任何方法可以在以增量方式处理时从所有聚合操作中删除订单#3。

4

1 回答 1

1

剩余 5 个不同的客户计数是正确的,因为它不知道负 300 意味着客户不应该显示。如果您完全处理了多维数据集,它将显示为 5 个不同的客户。

这与增量处理无关,这与 SSAS 处理不同计数的方式有关 - 它只是“计算事实表中的不同客户 ID”,C3 出现两次,销售额分别为 300 和 -300。

您需要重新考虑如何处理这个问题,最好是在加载数据仓库的阶段。您可以在 MDX 中处理它,不包括销售额为零或更少的任何人,但是整个不同计数计算将在 MDX 中完成,并且会慢得多。

于 2013-08-05T13:55:56.397 回答