1

我试图显示公司旅行的天数。销售员工没有输入确切的金额,因此它是在 SQL 中计算的,并且在对其的数据加载中DWH添加到TravelID. 如果travelID由于连接了 3 条跳线而存在 3 次,则每条线的数量为 3。

DWH 数据库

TravelID   1234       TriplineID   2345     #Days  3
TravelID   1234       TriplineID   2346     #Days  3
TravelID   1234       TriplineID   2347     #Days  3

所以一个TravelID可以有TriplineID多个

问题是当我想测量我的立方体时,它会计算所有的 3。在这种情况下,它显示#Days 是一次旅行的 9,而它必须是 3:

                                     #Days
--TravelID      1234
     --TripLineID   -2345            3
     --TripLineID   -2346            3
     --TripLineID   -2347            3
     Total                           9

然后我想我会用行数来划分它。 ([Measures].[# Days] / [Measures].[Count])

然后它向我展示了一个部分正确的结果:

                                     #Days
--TravelID      1234
     --TripLineID   -2345            3
     --TripLineID   -2346            3
     --TripLineID   -2347            3
     Total                           3
Total                                2

由于显然有多个TravelID',因此它还定义了 Total,而实际上它必须是先前 Totals 的总和。

什么是实现这一点的有效方法?我花了一整天的时间来解决这个问题,但我似乎找不到一个好的解决方案。

这是问题的更大图景:

                                     #Days
--TravelID      1234
     --TripLineID   -2345            3
     --TripLineID   -2346            3
     --TripLineID   -2347            3
     Total                           3
--TravelID      1235
     --TripLineID   -2348            4
     --TripLineID   -2349            4
     --TripLineID   -2350            4
     Total                           4
Total                                2

这里的 2 应该是 7。

4

1 回答 1

0

到目前为止,我发现的唯一解决方案是创建第二个事实表。我试图避免这种情况,但我没有看到任何其他方式。

于 2013-05-24T11:11:05.323 回答