时间:2017-04-12 11:31:57

标签: tsql

我们通过积分给员工打分的奖励计划。我已经编写了一个SP,以便我们可以每天动态地更改这些值,但是我在自己的脑海中努力想出在两个不同代理之间划分值的最佳方法。

设置

源表格如下所示:

Department  |   Policy      |Opening Advisor    |   Closing Advisor     |   Agg Pts     |   Aff Pts     |   Rnl Pts |
Sales A     |   LYJX01PC01  |       Sally       |       Sally           |       0       |       3       |      0    |
Sales A     |   MUMP01TW01  |       Sally       |       John            |       0       |       0       |      3    |

此表是两个单独的表,第一个是Opening Table,第二个是Closing Table。通过使用' Branch'这是一个我没有在这里放过的专栏,然后是政策'保持简单,政策是加入这两个表的原因。

理念

这里的想法是,如果开放顾问和结算顾问不同,每个政策点数将被分成50/50。

第一行开幕式和闭幕式顾问是Sally,因此对于该政策,她将获得所有积分,但是在第2行,她打开了政策,但约翰关闭了它。

这会将它们之间的点分开,即3/2 = 1.5。输出将类似于以下内容:

输出

Department  |   Policy      |   Advisor     |   Agg Pts |   Aff Pts |   Rnl Pts |
Sales A     |   LYJX01PC01  |   Sally       |       0   |       1.5 |   0       |
Sales A     |   LYJX01PC01  |   John        |       0   |       1.5 |   0       |
Sales A     |   MUMP01TW01  |   Sally       |       0   |       0   |   3       |

在我看来,我所做的一切都是通过Policy and Advisor进行GROUPING,然后拆分IF开放/关闭顾问的不同之处,不过在SQL中把它放下来我只是转了一圈而不是其中一个我需要一些外部建议。

0 个答案:

没有答案