不同总数的 SSIS 计算

Posted

技术标签:

【中文标题】不同总数的 SSIS 计算【英文标题】:SSIS Calculation with different total 【发布时间】:2013-05-08 20:32:17 【问题描述】:

我试图显示公司出差的天数。销售员工没有输入确切的金额,因此它是在 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。

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于不同总数的 SSIS 计算的主要内容,如果未能解决你的问题,请参考以下文章

SQL 计算不同的行及其出现的总数

动态执行从 SSIS 到 SSMS 中不同表的不同表结构的 Excel 包工作表?

如何在 SSIS 中使用不同的键合并/联合表?

以与 SSISDB 不同的用户身份执行 SSIS 包

Powershell Array Strings - 在 SSIS 中映射不同的变量参数名称

从不同帐户下的存储过程调用 SSIS 包