//0.1 版本,应顾客需求而做的操作说明。未修饰;后期增加详细说明和改进

需求:在superstore的数据中,我们希望把销售额TOP N的顾客列出来,然后把其他的所有顾客汇总为others,这样既可以看到占比最高的头部客户,又可以获得总体。

方式:

  • 要实现动态展示TOP,就需要使用参数parameter;
  • 要把顾客分组,就需要用到分组group;默认分组是静态的,因此不行;
  • 要实现动态分组,那就使用数据集set,数据集显示TOP N的顾客,判断依据是销售额;
  • 需要结合IF函数,在行级别给顾客打标签。

相关功能:

  • parameter、group、set、if

步骤:

1、创建一个TOP N的参数,实现可以调节;

Screen Shot 2018-09-26 at 08.47.59

2、创建一个集,将数据分组

和TOP N参数联动,依据是销售的聚合 sum(sales)

Screen Shot 2018-09-26 at 08.48.22

3、通过TOP N的集为依据,将数据打标签分组,使用IF

//注意,TOP N的集其实是布尔值,集内为true,集外为false  (in=true;out=false),所以计算是要用布尔值。

Screen Shot 2018-09-26 at 08.48.53

4、在视图中加入IF的新字段,并加入参数控件

Screen Shot 2018-09-26 at 08.50.13

这样有雏形了,通过调节右侧参数,可以实现左侧的动态变化。

这个相当于保持了原有的详细级别,但是改变了呈现的方式,此类问题一般都会通过间接的标签实现,相当于高级别名。

 

注意:

1、 这种表达方式,一般用于帕累托曲线特别明显的地方,否则会导致others掩盖了top的趋势。

2、关于set集的说明,系统对集内IN和集外OUT的区分,是通过布尔值标签实现的,因此使用true or false判断。

3、如果直接把集拖入少视图,要么显示 IN/OUT的对比,要么显示IN + OUT下的上面明细,不能集内的显示成员名称,集外的显示others汇总,所以需要用if做二次的标签。

 

26 Sep 2018
1 Nov 2018 update