//0.1 版本,应顾客需求而做的操作说明。未修饰;后期增加详细说明和改进
需求:在superstore的数据中,我们希望把销售额TOP N的顾客列出来,然后把其他的所有顾客汇总为others,这样既可以看到占比最高的头部客户,又可以获得总体。
方式:
- 要实现动态展示TOP,就需要使用参数parameter;
- 要把顾客分组,就需要用到分组group;默认分组是静态的,因此不行;
- 要实现动态分组,那就使用数据集set,数据集显示TOP N的顾客,判断依据是销售额;
- 需要结合IF函数,在行级别给顾客打标签。
相关功能:
- parameter、
group、set、if
步骤:
1、创建一个TOP N的参数,实现可以调节;
2、创建一个集,将数据分组
和TOP N参数联动,依据是销售的聚合 sum(sales)
3、通过TOP N的集为依据,将数据打标签分组,使用IF
//注意,TOP N的集其实是布尔值,集内为true,集外为false (in=true;out=false),所以计算是要用布尔值。
4、在视图中加入IF的新字段,并加入参数控件
这样有雏形了,通过调节右侧参数,可以实现左侧的动态变化。
这个相当于保持了原有的详细级别,但是改变了呈现的方式,此类问题一般都会通过间接的标签实现,相当于高级别名。
注意:
1、 这种表达方式,一般用于帕累托曲线特别明显的地方,否则会导致others掩盖了top的趋势。
2、关于set集的说明,系统对集内IN和集外OUT的区分,是通过布尔值标签实现的,因此使用true or false判断。
3、如果直接把集拖入少视图,要么显示 IN/OUT的对比,要么显示IN + OUT下的上面明细,不能集内的显示成员名称,集外的显示others汇总,所以需要用if做二次的标签。
26 Sep 2018
1 Nov 2018 update