卡片相关实用小技巧
1.如何快捷地将表格里的0批量替换成-
在表格里对数值字段设置条件格式,替换为文本,根据需要设置“保存并同步”,可以勾选其他卡片。
2. 如何突出显示两列对比情况,对比平均值情况
使用“设置条件格式”功能:Q
(1)两列值对比:设置条件格式-新建列规则-类型选“比较”(示例:目标销售额小于销售额时红色文字黄色背景)
(2)对比平均值:设置条件格式-新建列规则-类型选“比较”
注意:在规则编辑器中左侧默认选中的是进入条件格式设置的字段,可变更。
3. 如何设置不同列/条不同颜色
表格卡片:可以通过设置条件格式-列规则来实现。
条形图/柱状图:可以根据维度字段,将该维度字段拖入颜色绘制栏。
4. 如何隐藏卡片里的字段
1)如果是在数据集里想要隐藏某一个字段,,可以在数据权限里用列权限来控制。
2)有两种情况下,无法隐藏字段:
想要隐藏的字段是数据集的新建字段,即这个地方新加的字段。
字段是卡片里新建的字段。
【解决方案】
1)如果是抽取数据集或者文件数据集等非直连数据,那么建议直接用ETL把数据处理好,然后在这个ETL输出数据集上用数据权限的列权限来控制该列的隐藏,再把这个ETL输出数据集数据应用到卡片上。
2)如果是直连数据,那么无法用ETL来处理,此时需要隐藏这个“辅助列”,我们的解决方案是可以建一个卡片数据集,然后在这个卡片数据集上用数据权限的列权限来控制该列的隐藏,再把这个卡片数据集应用到卡片上。
【注意事项】
1)这种方案属于间接实现卡片某个字段隐藏,数据权限的控制还是建议在原始数据集上做,方便控制。
2)卡片数据集的字段格式取自原始数据集的格式,比如把文本字段拖到数值维度,但是在卡片数据集里还是会显示是文本字段,并不会转换为数值,这种情况下建议用函数先把字段的格式转换下。
5. 如何去掉文本数据前N个0
【解决方案】
1)方案1:用正则表达式去掉0。
REGEXP_REPLACE([商品编号] ,"^(0+)", "")
2)方案2:用*1或者/1将0去掉并用string公式转换为文本格式。
string( int ([商品编号]/1 )) 或者 cast( int ([商品编号]/1 )as string)
说明:
1)这里用int是因为文本*0或者/0后直接用string转文本会带上一位小数位数,用int函数可以解决这个问题。
2)如果直接用*0或者/0,字段格式选择文本,这样会出现实际格式未转成功的问题,对后期的数据处理和创建卡片带来问题(目前还需用公式转化解决)
6. 如何取多个字段中的最大值或最小值?
【解决方案】在新建字段中可以使用least()和greatest()函数来实现,写法为least(A,B,C,...),greatest(A,B,C,...),可以放多个字段进行判,并对数值和日期都可使用。
7. 如何设置卡片导出数据的格式?
选择“表格模板设置”,上传设置好的表格模板,然后选择“导出表格数据”。
8. 柱形图如何明显区分正负的颜色
(1)(条形图也一样)把「数值」字段拖入「颜色」中,选“颜色设置”;
(2)设置颜色的自定义阈值
9. 使用全局参数动态展示不同颜色柱形图
(1)新建一个文本全局参数,命名为“区域”;
(2)新建一个参数筛选器;
(3)新建一张卡片,新建字段引入参数进行判断,字段类型选择“布尔型”,并将该字段放到【颜色】区;
(4)设置【颜色】字段的颜色。
10. 如何设置卡片透明背景色
卡片设置-(右侧)卡片背景-设置对应的“A”为0即可:
拓展:颜色代码(原文出自:CSS 的颜色代码 透明色是什么代码?)
常用颜色代码分4种,分别如下:
1. 常用颜色单词,比如green(绿色),yellow(黄色),red(红色),transparent(透明色)等;
2. 以#号开头的六个字符组成的颜色代码,比如:#FF0000(红色),#000000(黑色),#F9F900(黄色)等;
3. 颜色rgb值,表达方式:rgb(参数1,参数2,参数3),三个参数分别表示r,g,b
1)R:红色值。正整数 | 百分数
2)G:绿色值。正整数 | 百分数
3)B:蓝色值。正整数 | 百分数
4. rgba(参数1,参数2,参数3,参数4),这种方式前三个参数与上面第3点种相同,第四个参数表示透明度,数值在0-1之间。0表示透明度为0(即透明色),1表示透明度为1(百分百)。
11. 如何去掉表格小计
普通表格的话,点击维度字段,选择不显示小计;分组表的话不能去掉小计。
12. 如何计算TOP10的总计,维度上显示10个无法计算总计
(1)新建一个计算A,算出需排序字段的总和,比如sum([销售金额])over( partition by [省份]);
(2)再将A字段排名,dense_rank()over( partition by null order by [A] desc );
(3)将排名字段拖入「筛选」中,排名字段聚合方式选择无处理,筛选条件选择小于等于10。
13. 如何只看排名前20的数据?
将数值字段进行降序排序后,在维度里设置显示数量为20就可以了。
14. 如何按时间升序但仅显示最近N天数据
当在「维度」里限制展示数量不能满足需求时,可以直接在「筛选」里按需求选出近N天数据,再搭配「排序」。
15. 如何设置排序图标
(1)在表格的编辑页面勾选显示行序号;
(2)选择相应显示的图标,目前仅支持选项中的图标。
16. 如何实现筛选日期联动前N天的数据
(1)新建一个日期类型的全局参数,新建一个参数筛选器
(2)卡片里新建一个布尔类型字段,使用DATEDIFF函数来筛选判断是否为筛选日期前x天的数据,把字段放到筛选条件里(如果要排序,可以把日期字段放到排序的维度)
17. 表格中如何按对比字段优先排顺序
直接拖动对比度量名和对比字段,如图可把【日期】字段拖到度量名前面,可实现按照【日期】排好顺序,再在对应日期下面显示相应字段:
18. 如何实现仅展示前几名,之后排名归类到“其他”
卡片上
新建计算字段
去重计数字段“SKU数量”(由于卡片内数值字段聚合计算结果不能用于二次计算,需要新建字段用函数来对商品条码进行去重计数,而count(distict()) 不能开窗,排序函数都需要开窗函数所以用collect_set)
去重计数结果进行排序字段“排序”,使用开窗函数dense_rank并进行验证
对原字段重新分组归类字段“新商品分类”
将三个新建字段拖入“更多工具提示”,聚合方式设置无处理
验证排序和分组无误后,把原维度字段“商品分类”替换成上一步新建的字段“新商品分类”,把字段“排名”拖到排序栏升序排列,“更多工具提示”里的字段可根据需要移除,切换到可视化图表视图,期望效果完成。
ETL里
根据需求对源数据筛选过滤后,添加“分组聚合”节点,把数据聚合到只有每个商品分类只有一条数据的程度。
2. 新建计算字段进行排序,使用row_number 来进行依次无重复排序。
3. 新建计算字段来对字段“商品”分类进行分组;预览数据无误,保存 ETL 并运行,输出数据集可用来直接制作卡片。
拓展:符合条件的归为一类,其他正常展示
示例:成交用户数占比小于等于10%的品类展示为“其他”,数值统一展示为8%;大于10%的正常展示各自的品类及数值。
新建计算字段
数值类型“占比”=sum([成交用户数]) over(partition by [品类])/sum([成交用户数])over(partition by null)
数值类型“分组”=case when [占比]<=0.1 then 0.08 else [占比] end
文本类型“新品类”(可根据实际情况修改公式)=if([fenzu]=0.08,'其他',[品类])
将“新品类”拖入「维度」,“分组”拖入「数值」,且“分组”的聚合方式选择“无处理”
注意:以上所用函数为 Spark SQL 函数,适用于非直连数据集,直连数据集只能在卡片里实现,且请使用对应数据库函数。
19. 不显示市级地图
在地图显示设置-地图显示范围,根据需求选择轮廓:
全国轮廓--维度:省份
省级轮廓--维度:市
市级轮廓--维度:区县
20. 热力地图、符合地图不显示地图
需查看经纬度的放置顺序,应该先放纬度(latitude),再放经度(longitude)
21. 如何设置地图颜色
(1)打开卡片编辑页面-左侧编辑框,选「颜色」栏中具体的字段,「颜色设置」
(2)可以根据自己的需要,设置对应的颜色。梯度最多只能设置为10,如果出现快捷阈值设置后颜色都一致,可能是数据中空值较多
(3)右侧的“地图显示设置”中可以设置对应的地图底色. 边框颜色. 悬停背景色等
22. 如何调整表格的列宽,过长如何换行展示
列宽:表格模式,可以实现手动拖拽,调整列宽,如果想要控制表格列宽可以在右侧填写;
表头换行:(由于受底层框架限制,目前不支持表头字段回车换行功能)如需要表头换行的,目前新版本BI可以拖动列宽来自动换行,也可以在维度字段上设置“别名”,在要换行的地方加上换行符
来指定换行位置。
23. 表格分页显示,但第一页和第二页看到的列数不同
列宽默认是自动的,会根据数据的长度变化,如果想要两页看到列完全一样,那么可以设置下固定列宽(默认会自动换行)。
24. 如何固定列表头
列表头是默认固定的,有对比度量或分组时也会被认为是表头被默认固定。
25. 如何通过联动展示明细清单
(1)新建一个表格卡片,创建一个新建字段(文本类型),用collect_set函数将明细整合为数组;拖入「数值」,聚合方式“无处理”。
如果要去重计数,公式替换为:size(collect_set([字段])over(partition by [分组列名])),类型为数值
如果不去重计数,公式替换为:size(collect_list([字段])over(partition by [分组列名])),类型为数值
(2)在原始卡片上,使用「联动」功能,关联刚刚新建的明细清单卡片即可。
26. 如何实现取筛选日期最后一天的数据
方案1
可以把日期选择器的开始和结束时间设成两个全局参数(需创建两个日期筛选器),然后会员数据这个字段根据结束时间的全局参数来计算。
建好两个日期类型的全局参数,“开始时间”和“结束时间”;
新建两个日期筛选器;
在卡片中引入“结束时间”的参数;
设置卡片和筛选器的联动。
方案2
原理同方案1,但只用一个日期筛选器。
建好两个日期类型的全局参数,“开始时间”和“结束时间”;
新建一个日期筛选器;
在卡片中引入两个时间参数,其中“开始时间”可以直接放在卡片字段里作为时间筛选器的联动联动,“结束时间”可以用来做个判断(格式选为布尔型);
设置筛选器与卡片联动。
27. 目标为负时如何计算完成率
(1)用子弹图代替仪表板图,以下图为例,广东的目标是-60,达成金额是-50,距离目标超过了10,在图中可以直观的看出来:
子弹图分为柱形子弹图和条形子弹图,可依据实际场景进行使用:
(2)子弹图虽能直观得看到目标和达成的距离,但是无法计算百分比,如果需要展示百分比,那么可以直接以表格的形式,按以下公式新建字段计算完成率:完成率=〔2-(实际完成金额/目标值)〕×100%
28. 如何设置双周、双月、半年等日期的周期
(1)日期字段下拉有预设周期(年、季度、月、周、星期、日|date类型字段到此| 时、分、秒|timestamp类型字段都有|)
(2)还需要常用到其他周期时,可以“新增分组”
29. 如何在卡片上展示筛选的时间区间
(1)新建两个“日期”类型的全局参数,作为开始时间和结束时间,默认值可根据实际场景填写;
(2)用建好的两个全局参数,新建两个参数筛选器卡片;
(3)在被联动的卡片上新建三个计算字段:
日期类型字段:“日期字段”case when [日期]>=[DYNAMIC_PARAMS.开始时间] and [日期]<=[DYNAMIC_PARAMS.结束时间1] then [日期] else null end
文本类型字段:“时间区间”concat(string([DYNAMIC_PARAMS.开始时间]),"-",string([DYNAMIC_PARAMS.结束时间1]))
数值类型字段:“销售总金额”case when [日期]>=[DYNAMIC_PARAMS.开始时间] and [日期]<=[DYNAMIC_PARAMS.结束时间1] then [销售金额] else null end
(4)效果图:
30. 为什么看不到卡片的查询SQL
确保管理员设置-系统管理-高级设置里打开“是否允许查看查询SQL或Spark脚本”的开关处于打开状态。
31. 高级计算里的同环比,“所选日期”的意思
所选日期 = 基准日期
所选日期为今天 ==> 今天和昨天比
所选日期为昨天 ==> 昨天和前天比
所选日期为前n天 ==> 前n天和前n-1天比
所选日期为今年 ==> 今年和去年比
所选日期为去年 ==> 去年和前年比
所选日期为前n年 ==> 前n年和前n-1年比
32. 新建字段斜杠的用法/ \
(1)右斜杠“\”:转义。在观远里,用“\”时,“\”会消失,效果:
(2)左斜杠“/”:会保留。效果:
(3)双右斜杠“\\”:会保留一条。效果:
33. 聚合字段的高级计算-占比逻辑
(1)聚合后的高级计算-占比(求和)逻辑:sum([销售金额])over(partition by [省份])
比如计算结果浙江省的=60,每一条对应的浙江省后面都是60,也就是5*60=300;江苏省的=66,就是4*66=264。所以浙江省的占比就是300/564=53.19%,江苏省的占比就是264/564=46.81%。
(2)聚合后的高级计算-占比(无处理)逻辑:无处理时系统会默认取最大值。
比如浙江省sum之后的无处理=60,江苏省=66,那么占比也为无处理的话,默认分子为各自的数值,分母为两个数值中的最大值66,此时浙江省的占比就是60/66=90.91%,江苏省的占比就是66/66=100%。
(3)想要实现浙江省的占比=60/(60+66),江苏省的占比=66/(60+66),将前面示例中“sum聚合(求和)”字段(或源数据字段)直接拖入「数值」中,高级计算-百分比-按列。
34. 用辅助线实现四象限图的方法
(1)制作好一个气泡图或者散点图,具体制作方法可参考:气泡图与散点图
(2)添加主数值轴(横轴)的辅助线:
(3)添加基数值轴(纵轴)的辅助线:
35. 条形图如何添加辅助线
(1)在右边图表属性里添加辅助线;
(2)选择辅助线的字段及展示方式;
固定值
图表字段:指维度上的字段,会根据维度的变化而变化,也会受筛选条件的影响。目前支持的展示方式有平均值. 中位数. 分位数. 最大值和最小值
其他字段:指数据集里的所有字段,不受维度影响,但会收筛选条件影响。目前支持的展示方式有平均值. 最大值. 最小值. 求和. 计数. 去重计数和无处理