所以,不知道如何解释这个,但是这里 . 我想翻译一张佣金表 . 某些记录具有相同的发票和项目,这意味着多个人在该产品上获得了佣金 . 我想合并这些记录,因此每张发票每个产品只有一条记录 . 基本上,就像金字塔计划一样,销售人员根据他们所处的水平进行销售佣金,(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 回答
好吧,我终于通过使用ssis脚本组件,然后做了一些奇特的排序和在输出上创建新记录 .