我有一个数据表,里面有以下项目。
Item# Description Company ID Sales
----------------------------------------------
1 wigit 1 521 500
2 wigit 2 521 700
1 wigit 1 663 200
2 wigit 2 663 300
3 wigit 3 521 300
我想做的是把数据拉成一种格式 让我看到521公司的销售量在1位数排名第一 但1位数的销售量在我们的整个销售阵容中只排在第19位 我们在特定的时间内销售给所有的公司 从这里,我会向领导层提供一个18的销售差距数字,看看哪些公司可以注意的项目。
我想从样表中得到的结果是拉出521公司与整个公司的对比情况
Item # Description Company 521 Rank Company 663 Rank Total Ranking
----------------------------------------------------------------
1 wigit 1 2 2 3
2 wigit 2 1 1 2
3 wigit 3 3 3 1
希望这有意义,不知道是否可以用Rank。 结果将进入Power BI
如果我的理解正确,你可以使用 rank()
中的一个子查询,得到公司的排名。 然后再进行外在的汇总。
select Item#, Description,
max(case when CompanyId = 521 then seqnum_c end) desc) as rank_521,
max(case when CompanyId = 663 then seqnum_c end) desc) as rank_663,
rank() over (order by sum(sales) desc) as overall_rank
from (select t.*,
rank() over (partition by coompanyid order by sales desc) as seqnum_c
from t
) t
group by Item#, Description