Quick BI使用案例08: 灵活对比任意两个日期区间的区域订单金额变化

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 本文介绍如何在Quick BI中通过自定义SQL与占位符参数,实现双时段订单金额对比分析。支持用户灵活选择日期区间,实时计算区域维度的比值并可视化展示,助力高效决策。

栏目说明[魔法棒挥动]

Quick BI使用案例」系列短文都来源于用户遇到的真实问题

文章聚焦使用过程中的高频误区与使用技巧,希望能帮助您充分地发挥产品价值。

问题背景[问号]

在日常经营分析中,业务人员常需快速评估各区域订单金额在两个自定义时间段(如“活动期” vs “基准期”)之间的变化情况,以便及时调整策略。

核心需求如下:

  • 支持在报表界面自主选择两个日期区间(精确到天);
  • 实时计算各区域在两个时段的订单金额及其比值;
  • 查询响应速度达秒级,并以可视化图表直观呈现结果。

解决方案[进度: 未开始]

通过 自定义 SQL 数据集 + 占位符参数,可在 Quick BI 中实现上述灵活、高效的双时段对比分析。以下以 MySQL 8 数据库为例说明操作步骤。

前提条件

数据库中存在表 company_sales,关键字段包括:

  • area:区域名称
  • order_amt:订单金额
  • report_date:下单日期(datetime 类型)

完整的company_sales结构如下:

Step1. 在该数据源管理页面,点击“SQL创建数据集”按钮:

Step2. 输入以下自定义SQL语句:

SELECT 
    a.area,
    a.fenzi,
    b.fenmu,
    CASE 
        WHEN b.fenmu IS NULL OR b.fenmu = 0 THEN NULL 
        ELSE a.fenzi / b.fenmu 
    END AS ratio
FROM (
    SELECT 
        area,
        SUM(order_amt) AS fenzi
    FROM company_sales
    WHERE report_date >= '$val{report_date_ph1.get(0)}' 
      AND report_date <= '$val{report_date_ph1.get(1)}'
    GROUP BY area
) a
LEFT JOIN (
    SELECT 
        area,
        SUM(order_amt) AS fenmu
    FROM company_sales
    WHERE report_date >= '$val{report_date_ph2.get(0)}' 
      AND report_date <= '$val{report_date_ph2.get(1)}'
    GROUP BY area
) b ON a.area = b.area

Quick BI中值占位符可通过仪表板上的查询控件传入日期范围,进行筛选。当占位符是日期时,需要选择具体的日期格式,来控制传入值的格式。

占位符具体格式如下:

'$val{占位符名}'

💡 占位符说明

  • $val{report_date_ph1.get(0)}:获取第一个日期范围控件的起始日期
  • $val{report_date_ph1.get(1)}:获取第一个日期范围控件的结束日期
  • 同理,report_date_ph2 对应第二个日期范围
  • 在 Quick BI 中配置查询控件时,请确保日期格式与数据库一致(如 yyyy-MM-dd

Step3. 点击右上角“确认编辑”按钮,提示成功后,点击右上角×关闭当前自定义SQL界面。

Step4. 点击数据集右上角“保存”按钮,完成数据集创建。

Step5. 新建仪表板,添加 交叉表 组件,字段配置如下:

  • 行:维度字段 area
  • 列:度量字段 fenzifenmuratio

Step6.添加两个 日期范围查询控件,分别绑定至占位符 report_date_ph1report_date_ph2查询条件配置如下:

Step7. 日期查询控件设置默认值或由用户动态选择,例如:

  • fenzi(分子):2025-10-14 至 2025-10-17 → 表示“活动期”订单金额之和
  • fenmu(分母):2025-10-20 至 2025-11-21 → 表示“基准期”订单金额之和
  • ratio:自动计算两者的比值

小贴士

  • 若需支持更多维度(如产品线、渠道),可在子查询中增加 GROUP BY 字段;
  • 该模式同样适用于同期对比(如今年 vs 去年同期)、周环比等场景,只需调整日期控件逻辑。

如阅读后有任何问题,您可以点击Quick BI产品内右下角【帮助与反馈】按钮与我们取得联系。

相关文章
|
5月前
|
供应链 数据可视化 前端开发
Quick BI使用案例07:点击文字按钮,实现“点击即洞察”的带参数跳转
本文详解如何用“指标看板+空值字段+跳转”组合,模拟文字按钮实现参数化跳转,无需开发、不增图表,即可打造可操作的分析闭环,提升用户体验与分析效率。
|
7月前
|
SQL BI Serverless
Quick BI使用案例01:巧用lod函数和加速引擎解决跨维度占比计算,从3分钟到0.9秒快速查数
「Quick BI使用案例」系列基于真实问题,聚焦高频误区与实用技巧。本文详解如何用LOD函数计算分组占比,并通过加速配置将140万行数据查询从超时优化至0.9秒,提升性能。
|
5月前
|
关系型数据库 MySQL BI
Quick BI使用案例09:柱图中用颜色直观区分各区域订单数量区间
本文以区域订单数智能分段打标为例,通过lod_fixed函数创建计算字段,实现柱图按数量区间(如“1500以下”“1500–2500”)自动着色,直观呈现数据分布,助力高效洞察。
|
3月前
|
SQL 关系型数据库 MySQL
Quick BI使用案例13:自动识别月末收官日,实现收官日区域订单数量精准统计
本文详解如何精准提取各销售战区每月最后一天的订单量,助力分析冲刺能力、绩效考核与库存节奏,提升数据驱动决策效率。
|
6月前
|
SQL 移动开发 关系型数据库
Quick BI使用案例02:基于人员维度的指定时间段订单分组排序
本文介绍Quick BI基于人员维度的指定时间段内订单分组排序的两种方案:通过使用占位符和ROW_NUMBER()函数建自定义SQL数据集,在明细表中实现。或者通过物理表建数据集,在交叉表中利用计算字段与累计计算实现。帮助用户按人员维度展示指定时间段内的订单序列,更好的进行数据分析。
|
5月前
|
SQL 数据可视化 关系型数据库
Quick BI使用案例10:用组合图实现帕累托分析,精准定位高利润区域
本文详解帕累托分析实战:通过自定义SQL(含窗口函数)计算区域利润累计占比,并配置组合图直观识别贡献80%利润的关键区域,助力精准决策与资源优化。
|
3月前
|
SQL 关系型数据库 MySQL
Quick BI使用案例16:利用“SQL预聚合+图表二次汇总”实现最大值求和
本文详解如何通过自定义SQL预聚合结合仪表板二次汇总(列小计求和),突破SUM(MAX())嵌套限制,实现“各区域各类运输方式最大订单额求和”,助力识别高价值客户与优化高端物流策略。
|
6月前
|
BI
Quick BI使用案例04:一图多看:实现同一图表时间粒度(年/月/日)自由切换
本文详解如何通过查询控件联动和维度组功能,实现图表内年、月、日时间粒度的动态切换,提升分析效率与仪表板可用性。
|
3月前
|
城市大脑 供应链 监控
后台算不清、前台看不见?双引擎破解企业数据"里子"与"面子"双重困境
“电子表格+数据大屏”双引擎:电子表格如超级Excel,支持多级表头、近400个函数、直连实时库,破解财务复杂报表难题;数据大屏具电影级视觉与叙事能力,零代码打造高规格汇报。一解“里子”严谨性,一展“面子”感染力。
后台算不清、前台看不见?双引擎破解企业数据"里子"与"面子"双重困境
|
自然语言处理 监控 数据可视化
告别“数据焦虑”——详解Quick BI 移动端6大使用场景
Quick BI移动端微应用集成钉钉、企业微信、飞书,支持实时数据查看、智能问数、库存填报、协同DING、告警订阅等功能,助力企业实现“千人千面”数据决策,让数据真正走进业务场景。
告别“数据焦虑”——详解Quick BI 移动端6大使用场景