文章 查看内容

灵活对比两个时间段的指标值——两个时间段重合时需要分别统计到对应时间段实现案例 ...

灵活对比两个时间段的指标值——两个时间段重合时需要分别统计到对应时间段实现案例 ...

244 0 产品实操 2025-9-16 16:14 发布者: 观小瑜

本文提供了一个自由筛选两个时间段内的数据做对比分析,当两个时间段重合时,需要分别统计到对应时间段的实现案例

一、背景

(一) 场景

场景介绍:自由筛选两个时间段内的数据做对比分析。例如筛选一个自由时间段内的数据并汇总计算其销售额;对比另一个自由时间段内的汇总销售额。

(二) 案例

观远学堂中有一个案例,是这样实现的:

卡片字段:时间段,字段类型:文本,显示'当前时段'或者'对比时段'。并将该字段用于卡片筛选器中,筛选有效时间段。筛选条件:时间段not null。

if([日期]>=to_date([DYNAMIC_PARAMS.begin_date]) and [日期]<=to_date([DYNAMIC_PARAMS.end_date]),'当前时段', if([日期]>=to_date([DYNAMIC_PARAMS.begin_date2]) and [日期]<=to_date([DYNAMIC_PARAMS.end_date2]),'对比时段',null))

(三) 不足

但是当两个时间段重合时,对比时段的销售额会缺少和当期重叠的这部分数据

(四) 原因

由于上面的实现方式是:对日期进行分组,判断是否在开始结束日期范围内,不满足再判断对比的开始结束日期。由于一行数据里,不能同时既是当前时段又是对比时段,所以对比时段的销售额无法不包含到当前时段的数据,当前这个实现方式无法直接实现需求。

那么如果我希望时间段重合时,也要分别统计到对应的时段里,有什么方式能实现类似的效果吗?

二、实现思路和方案

分为两个计算字段,分别只受到本期和对比期的日期参数控制,得到本期和对比期的销售额,之后两个字段都拖入卡片中展示。

if([日期]>=to_date([DYNAMIC_PARAMS.begin_date]) and [日期]<=to_date([DYNAMIC_PARAMS.end_date]),[销售额], 0)
if([日期]>=to_date([DYNAMIC_PARAMS.begin_date2]) and [日期]<=to_date([DYNAMIC_PARAMS.end_date2]),[销售额],0)

之后如果需要度量名纵向排列,可以将“度量名”放到维度栏

同时度量名可以设置别名

三、实现效果

两个时间段数据互不影响,能够得到两个时间段内完整的数据。


路过

雷人

握手

鲜花

鸡蛋

评论

您需要登录后才可以发表言论 登录立即注册
微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2026 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去评论 去发文 返回顶部
返回顶部