复杂报表多维度LOOKUP用法
场景介绍
需要根据商品分类做自定义排序,且销售数量需根据商品分类、商品名称、省份、城市、大区进行匹配,按照日期(年)进行横向扩展,样表如下:
实现步骤
数据准备
-
场景中既需要排序又需要根据维度匹配数据,所以需要用到两个视图。新建两个视图,一个用来做维度(用原生公式),一个用来匹配数据(用派生公式)。
-
在视图里把需要排序的字段拖到排序里,并根据期望的排序进行设置。
在线编辑模板
- 在线编写复杂报表模板
1)将需要展示的表头直接写到模板第一行;
2)直接从视图里拖入字段到模板里,或者手动输入公式,例如=G_(view1,商品分类)
;
3)设置动态属性,默认纵向扩展;如需分组,可在动态属性里勾选上“分组”,选择分组方式;
4)用 G_LOOKUPEXP 匹配维度对应的数据:
=G_LOOKUPEXP(9,view2,日期,view2,销售金额,商品分类:A{r},商品名称:B{r},省份:C{r},城市:D{r},大区:E{r},日期:F1)
-- 9代表求和;
-- “view2,日期,”代表用view2里的日期构建派生表,按照日期去重后的个数横向扩展相同列数,日期升序排列;
-- “view2,销售金额,”代表匹配view2里的“销售金额”;
-- “商品分类:A{r}”代表要搜索的条件字段和所在的单元格位置。
模板如下(具体写法可参考附件):
5) 如果不需要横向扩展,则不需要用到派生表,使用 G_LOOKUP:
=G_LOOKUP(9,view2,销售金额,商品分类:A{r},商品名称:B{r},省份:C{r},城市:D{r},大区:E{r},日期:F1)
注意:由于大区--省份--城市、商品分类--商品名称具有层级关系,在城市名称和商品名称都没有重名的情况下,本案例里搜索的条件字段其实只需要商品名称、城市名称和日期3个即可。
本地编辑模板
- 编写复杂报表Excel模板
1)将需要展示的表头直接写到模板第一行;
2)用&=表名.字段这个公式引入视图表的字段,例如&=view1.商品分类
;
3)如需分组,可在2的基础上在后面加 (group:merge)实现,例如&=view1.商品分类(group:merge)
;
4)用guanlookup匹配维度对应的数据:
&&=guanlookup(9,[view2!日期],view2,销售金额,商品分类,A{r},商品名称,B{r},省份,C{r},城市,D{r},大区,E{r},F1)
----------------
如果不需要横向扩展,则不需要用到派生表:
语法为:&&=guanlookupN([], , , )
例如:&&=guanlookup9([],view2,含税价,省份, A{r}, 城市, B{r})
模板如下(具体写法可参考附件):
- 上传模板后预览并保存。