You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Report Builder月度4周期报表实现咨询:SQL语句改造需求

实现按月度4个7天周期的报表方案

完全可以实现,下面是具体的SQL修改方案和Report Builder参数配置步骤:

一、修改SQL查询语句

将原查询中的日期范围条件替换为月份匹配+周期匹配的逻辑,通过CASE表达式把日期划分为4个指定周期,配合参数筛选目标数据。

完整修改后的SQL:

SELECT
[ClientName],[ProjectName],[ProductName],[DepName],[DepAd1],[TRUENET]
FROM [database].[dbo].[tabel] 
WHERE
-- 匹配指定月份:两种方式二选一
-- 方式1:使用日期类型参数(推荐)
DATEFROMPARTS(YEAR([Veie_DateTime]), MONTH([Veie_DateTime]), 1) = DATEFROMPARTS(YEAR(@Month), MONTH(@Month), 1)
-- 方式2:使用文本类型参数(用户直接选YYYY-MM格式)
-- FORMAT([Veie_DateTime], 'yyyy-MM') = @Month

-- 匹配指定周期
AND CASE
    WHEN DAY([Veie_DateTime]) BETWEEN 1 AND 7 THEN 1
    WHEN DAY([Veie_DateTime]) BETWEEN 8 AND 14 THEN 2
    WHEN DAY([Veie_DateTime]) BETWEEN 15 AND 21 THEN 3
    WHEN DAY([Veie_DateTime]) >=22 THEN 4
END = @Period

AND [ProjectName] IN (@Prosjekt) 
AND [ClientName] IN (@Kunde) 
AND [DepName] IN (@Inn_Ut) 
AND [DepAd1] IN (@Avdeling)
ORDER BY [ClientName]

逻辑说明:

  • CASE表达式根据日期的日部分,将数据划分为4个周期:1代表1-7日,2代表8-14日,3代表15-21日,4代表22日至月末。
  • 月份匹配的两种方式:
    • 方式1适合用日期选择器让用户选某一月的任意一天,自动匹配整月数据;
    • 方式2适合直接展示年月下拉选项(如2024-05),更直观。

二、Report Builder参数配置

需要创建两个参数来实现用户选择:

  1. @Month参数

    • 类型:如果用方式1选Date/Time,如果用方式2选Text;
    • 可用值:可以设置为动态获取数据库中存在的年月,或者手动添加选项;
    • 默认值:可设为当前月份的第一天(方式1)或当前年月(方式2)。
  2. @Period参数

    • 类型:选Integer;
    • 可用值:手动添加以下选项:
      • 值:1,标签:1日至7日
      • 值:2,标签:8日至14日
      • 值:3,标签:15日至21日
      • 值:4,标签:22日至月末
    • 默认值:可设为1或当前日期对应的周期。

配置完成后,用户即可通过选择月份和周期,快速筛选对应时间段的数据。

内容的提问来源于stack exchange,提问作者Geir Rasmussen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 21:23:16