有奖:语音产品征文挑战赛火热进行中> HOT
快捷计算提供当前指标的常用数据计算,主要有同环比、占比、排名、累计等算法。
目前提供同环比及对比,其他算法在不断迭代支持。

本文介绍以下操作:
同环比的设置
对比设置


同环比的设置

在业务分析场景中,需要将当期数据和历史往期数据进行对比,以便分析数据变化情况,在腾讯云 BI 中,用户可以使用快捷计算中的同环比能力实现多个时间周期的数据对比。

名称及定义

时间颗粒度:指对原始时间数据进行聚合处理,如“考勤时间”原始格式为“YYYY-MM-DD HH:mm:ss”,我们期望让数据按照“年月”展示,则可以将“考勤时间”字段聚合成“年月”,用户可如下图操作:



同比:同比指当期和同期数据进行对比,同期指比当前时间颗粒度更大的时间颗粒(如当前聚合为“日”,则同期可以是“年周”、“年月”、“年季”、“年”,如选择了年同比,则表示23年7月21日对比22年7月21日),同比增长率=(当期值-同期值)/同期值*100%,同比增长值=当期值-同期值
环比:环比指当期和上期数据进行对比,上期的时间颗粒度和当前是一致的(如当前聚合为“日”,则上期即为上一日,如当期为23年9月10日,则上期为23年9月9日),环比增长率=(当期值-上期值)/ 上期值*100%,环比增长值=当期值-上期值
对比:当同比或环比无法满足对比需求时(如用户想每2个月进行一次对比),用户可以通过“对比”进行定义更自由的对比颗粒度。
偏移:偏移是指对指定的时间进行移动,以改变数据范围,在同环比场景里,用户在计算23年的数据年同比,则需要将时间偏移到22年,否则无法计算23年数据的年同比。

范例数据

本说明提供两种建表场景下的实际操作,具体范例数据采用同一份原始数据,只是数据表的建表方式不一样:
方式一:不含 sql 参数的数据表,包含2021年1月1日~2023年10月30日数据。
方式二:使用 sql 参数的数据表
我们将通过操作指南,帮助用户实现如下使用场景:
页面没有筛选器的情况下,设置只展现2023年6月以来的销量数据和销量年同比数据。
页面有时间筛选器的情况下,通过用户操作筛选器展现2023年1月到8月的销量数据和销量年同比数据。

操作指南

1. 不含sql时间参数场景:
第一步:创建页面,并向画布添加表格组件。
第二步:添加时间字段到维度,并设置时间聚合粒度。



第三步:表格组件间添加指标字段,并设置“年同比”

注意:这里可选的同比/环比选项由第二步中的时间聚合决定。
完成到这里,单击立即分析,可以看到21 - 23年的数据都出来了,如下图

但是我们希望只展示23年的数据,因此需要下一步过滤展示数据。
第四步:设置条件,过滤“大于2023年6月”数据。
在条件中,按下图步骤设置时间字段,只保留2023年6月后的数据

设置完成后,单击立即分析,将只看到2023年6月后的数据

但我们发现最后一列的表头和数值展示都不符合要求,需要修改展示名称和数值的展示格式:
单击字段下拉中,选择显示名设置,设置显示名称。






我们继续设置数值格式,在右侧“样式”面板,选择数值展示,并在“销量年同比”项里设置数值格式为2位数的百分比格式。


单击立即分析查看效果,可看到已经只显示6月以来的数据且数据格式正确

第五步:添加时间筛选器,关联表格组件和字段。
在页面中加入时间筛选器,选择“年月”粒度并开启区间。



设置关联图表时,选择前面设置的表格,并关联“时间”字段并保存。



第六步:查看效果
默认状态下,表格展示2023年6月以后的数据。



当用户筛选了时间后,表格数据随着筛选时间变化。



2. 使用 sql 时间参数场景
第一步:sql 建表,并申明偏移时间字段。
为了后面在筛选器里进行 sql 传参,我们这里设置了两个变量A和B,收筛选器传过来的开始时间和结束时间,以A和B来限定“time”字段的范围。



设置参数的默认值,我们也设置成和前面一样的2023年6月至10月。




这里注意,为了保持和前端筛选用户理解逻辑一致,我需要将时间格式尽量做到最大精度,否则容易出现筛选器传值丢失(如传给B的是2023年7月31日,如果参数格式是YYYY-MM,则数据库执行结果时间是2023年7月1日)。
为了使用同比,所以需要对sql参数值进行偏移,也就是说传给sql变量是2023年1月~2023年10月,实际上,我们需要计算2022年1月~2023年10月才能计算出23年的同环比,因此需要手动申明告知BI哪个变量需要进行偏移,申请格式为“/*offset_key:A*/”,如下图:


这里只要什么开始时间参数就行(即只对A进行偏移),无需对结束参数进行处理。
第二步:创建页面,并向画布添加表格组件。
第三步:表格组件间添加指标字段,并设置“年同比”。


第三步:表格组件间添加指标字段,并设置“年同比”。

注意:这里可选的同比/环比选项由第二步中的时间聚合决定。
完成到这里,点击“立即分析”,可以看到sql参数设置的默认时间段内的数据都出来了,如下图

如果发现您的表头显示不对,可以指标点击字段下拉中,选择“显示名设置”,设置显示名称。





我们继续设置数值格式,在右侧“样式”面板,选择“数值展示”,并在“销量年同比”项里设置数值格式为2位数的百分比格式。


单击立即分析查看效果,可看到已经只显示6月以来的数据且数据格式正确

如有多个行维度时,同环比在折叠后,显示为“0”,用户可以通过修改合计方式为“AUTO”来解决。


第四步:添加时间筛选器,关联sql参数。
在页面中加入时间筛选器,选择“年月”粒度并开启区间。



设置关联图表时,选择前面设置的表格,并关联“时间”字段并保存。



第五步:查看效果
默认状态下,表格展示2023年6月以后的数据。



当用户筛选了时间后,表格数据随着筛选时间变化。






对比的设置

对比是同环比的一个特殊场景,同环比是需要时间长度必须对齐的,例如环比昨天,那就是用今天和昨天比。但是对比允许用户进行不同长度时间的比较,如今天数据和上一周数据进行对比。
假如我们需要拿上月“员工产值”数据和再往前三个月的“员工产值”数据进行对比,则可以如下操作:
1. 添加组件,设置分析指标。
向画布中添加折线图组件,设置维度为“部门”、指标为“员工产值”


2. 开启同环比,选择“自定义对比”
鼠标划过指标“员工产值”,在下拉中依次选择计算 > 同环比 > 自定义对比


时间字段:选择以哪个时间作为参考时间系,本例用“统计时间”字段作为时间参考。
区间对比:开启可以对比一个区间时间,本例打开。
时间类型:可以使用相对时间和固定时间
参与时间:选择“T-1”到“T-1”,即上个月,我们将用上个月数据去对比。
对比时间:选择"T-4"到"T-2",即在参与时间上推3个月,我们将用参与时间和这个时间做对比。
展现方式:结果是以增长值还是以增长率的方式输出,本例选择“增长率”
3. 设置环比数值样式
在样式面板中设置指标的展示样式,展示为2位小数的百分比。



4. 最终效果