不同总数的SSIS计算

时间:2013-05-14 13:59:10

标签: sql ssis olap cube measures

我试图显示公司旅行所花费的天数。销售员工未输入确切的金额,因此在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视为总数,而实际上它必须是以前总计的总和。

实现这一目标的有效方法是什么?我花了整整一天时间对此表示不满,但我似乎无法找到一个好的解决方案。

以下是问题的更大图景:

                                     #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。

1 个答案:

答案 0 :(得分:0)

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