首页 文章

ssis重复行和脚本组件

提问于
浏览
1

所以,不知道如何解释这个,但是这里 . 我想翻译一张佣金表 . 某些记录具有相同的发票和项目,这意味着多个人在该产品上获得了佣金 . 我想合并这些记录,因此每张发票每个产品只有一条记录 . 基本上,就像金字塔计划一样,销售人员根据他们所处的水平进行销售佣金,(1,2,3,4)所有销售人员也会获得佣金 . 所以我需要查找发票和项目相同的记录,从每个记录中提取数据,然后只输出一条包含该数据的记录 .

我很确定脚本组件是要走的路,但我不知道如何拉入多行数据以检查重复的发票和项目,同时保持每行的一些数据一起输出 .

如果您有任何问题,请告诉我,我知道我没有说出最好的问题 .

源表看起来像这样

委员会表

SalespersonID - the person getting the commission
 InvoiceID - ID of invoice
 ItemID - ID of specific lineitem on invoice
 ProductID - ID of product sold
 Sales_Amt - total for that lineitem
 Salesperson Downlevel ID - ID of salesperson below SalespersonID if exists
 Commission Rate - percentage Salesperson receives 
 Commission Total - amt salesperson receives

还有其他一些列,但这些是重要的列 .

我正在将其翻译成一个看起来像这样的表

新委员会表

CommissionId - Primary key for commission table
 CommissionPayable - amt salesperson gets
 CommissionPayableUpline1 - amt salespersonUpline1 gets
 CommissionPayableUpline2 - amt salespersonUpline2 gets
 CommissionPayableUpline3 - amt salespersonUpline3 gets
 CommissionRate - percent salesperson gets of amount
 CommissionRateUpline1 - percent salesperson upline1 gets
 CommissionRateUpline2 - percent salesperson upline2 gets
 CommissionRateUpline3 - percent salesperson upline3 gets
 SalespersonId - Id of salesperson
 SalespersonUpline1 - ID of salesperson upline1
 SalespersonUpline2 - ID of salesperson upline2
 salespersonUpline3 - ID of salesperson upline3

所以你看我们最多可以有四个级别的销售人员 . 我们的大多数销售人员只有1到2个级别,但我们确实有3个级别深度,目前没有四级深度 . 它存储在旧数据库中的方式令人困惑,效率也不高 .

我想查找具有重复发票和项目ID的行, grab 销售人员和下级销售人员以及每个销售人员的佣金率和金额,然后在新系统中将所有这些插入一行 .

1 回答

  • 0

    好吧,我终于通过使用ssis脚本组件,然后做了一些奇特的排序和在输出上创建新记录 .

相关问题