【发布时间】:2014-08-06 03:12:54
【问题描述】:
我正在为我们的一个部门创建一份报告,该报告按成本中心计算软件许可。我遇到的问题是,我们的高层管理人员位于特定的成本中心,用于组织目的(许可证系统获取),但请求报告的部门需要有成本中心,经理们将所有费用都用于成本中心。
- 这影响了大约 15 个条目,但报告提取了 300 多个,因此我只需要更正 15 个而不影响其余条目。
我创建了一个标有 [dbo].[CostCenter_corrections] 的表,其中包含两列 [UserID](nvarchar,这是用户名而不是员工 ID)和 [CostCenter_Correction](int,这是他们的费用成本中心)。
我想要做的是在暂存加载结束时设置一个方法,该方法将通过用户 ID 更正这些数字,如 executeSQL 任务,或者构建另一个 SSIS 包来处理暂存数据并将其重新加载到同一个临时表(不确定这是否可能,甚至应该做些什么)。
如果您能想到任何其他方式,我愿意接受。
提前感谢您的帮助。
【问题讨论】:
-
您是否在使用
Execute Tsql Task来完成此操作时遇到问题? -
为什么不把 SSIS 的东西放在一边,只在本报告中使用“其他成本中心”表?
-
为什么不自己进行暂存加载时应用更正?使用查找任务或类似任务来查找更正,如果存在,则使用更正的值,否则使用表中的值。在实际加载过程之后避免不必要的内务处理。
-
@DanielE。是的,我尝试使用以前的项目作为模板来构建脚本。但是,我无法让它工作。要么参数太不同,要么我设置不正确。我对 TSQL 不够熟悉,无法确定。
-
@DanBracuk,我需要报告中的所有成本中心。但我需要将主(或临时表)中的 15 个成本中心替换为“其他成本中心”中的成本中心。
标签: sql sql-server tsql ssis