在固定时间区间时支持文本参数联动
需求:“快捷时间区间”筛选器,在固定时间区间时支持文本参数联动
为了简化页面制作过程,优化页面看数逻辑,在设计仪表板时希望时间区间筛选器可以通过传参的形式控制卡片,如:选择今日时,折线图展示的是今天0点至距离目前最近的小时数;选择本周时,展示本周一至周x(今日);选择本月时,展示本月至今天;选择本年时,展示1月至当前月份。
Demo体验
案例下载
观远应用市场下载本案例到本地环境动态时间宏。
实现方式
【建立全局参数】
以昨天-按小时、本月到昨天-按日、本年到昨天-按月为例
注:参数中的字段名称需要与"快捷时间区间"的文字保持一致;
卡片中新建字段对日期字段进行相关处理,示例中新建文本字段日、月、昨天、判断时间
判断时间:
case when [DYNAMIC_PARAMS.月年]="本月到昨天"
then
(case when [时间] between DATE_TRUNC('month',[DYNAMIC_PARAMS.昨天]) and CURRENT_DATE() then true else false end)
when [DYNAMIC_PARAMS.月年]="本年到昨天" then
(case when [时间] between DATE_TRUNC('year',[DYNAMIC_PARAMS.昨天]) and CURRENT_DATE() then true else false end)
when [DYNAMIC_PARAMS.月年]="昨天" then
(case when cast([时间] as date)=CURRENT_DATE()-1 and hour([时间])<=hour(now()) then true else false end )
else false end
日:
case when [日期] between DATE_TRUNC('month',[DYNAMIC_PARAMS.昨天]) and [DYNAMIC_PARAMS.昨天] then CONCAT(right([日期],2),'号') else null end
月:
case when YEAR([时间])=YEAR(CURRENT_DATE()) and [时间]<=CURRENT_DATE() then CONCAT(MONTH([时间]),'月') else null end
昨天:
case when cast([时间] as date)=CURRENT_DATE()-1 and hour([时间])<=hour(now())
then CONCAT(hour([时间]),'点') else null end
新建快捷日期区间筛选器关联参数的配置: