Epicor BAQ高级汇总


原始数据

CountryCustIDAmount
USC001100
USC002200
CNC003150

ROLLUP(Customer.Country, Customer.CustID)

ROLLUP(Customer.Country, Customer.CustID) 是一种分组汇总扩展,用于生成多层级汇总数据,相当于自动帮你做“小计 + 总计”。

 

可以把它理解为:
👉 在普通 GROUP BY 的基础上,增加分组层级的汇总行

SQL 全选
GROUP BY ROLLUP(Customer.Country, Customer.CustID)

等价于下面这几种分组的组合:

Markup 全选
GROUP BY
(
    Customer.Country, Customer.CustID   -- 明细
),
(
    Customer.Country                    -- 国家小计
),
(
    ()                                  -- 总计
)

结果:

CountryCustIDAmount
USC001100
USC002200
USNULL300
CNC003150
CNNULL150
NULLNULL450

1️⃣ NULL 的含义

  • CustID = NULL → 表示该国家的小计
  • Country = NULL AND CustID = NULL → 表示总计

 

⚠️ 不是数据真的为 NULL,是“汇总行标记”

 

GROUPING SETS(Customer.Country, Customer.CustID)

👉 只做这两种分组(而且是独立的)

Markup 全选
(Customer.Country)
(Customer.CustID)

⚠️ 注意:
没有明细、没有层级关系、没有总计

等价于下面这种写法:

SQL 全选
GROUP BY GROUPING SETS (
    (Customer.Country),
    (Customer.CustID)
)

结果:

CountryCustIDAmount
USNULL300
CNNULL150
NULLC001100
NULLC002200
NULLC003150

👉 特点:

 

  • ✔ 按国家汇总
  • ✔ 按客户汇总
  • ❌ 没有明细(Country + CustID)
  • ❌ 没有总计
  • ❌ 没有层级关系

 

CUBE(Customer.Country, Customer.CustID)

好,这个就到“三件套”里最后一个了:CUBE 👇
它比 ROLLUP 和 GROUPING SETS 都更“猛”。

对所有维度做“全组合汇总”(所有可能分组都会算一遍)

SQL 全选
CUBE(A, B)

等价于:

Markup 全选
GROUPING SETS (
    (A, B),   -- 明细
    (A),      -- 按A汇总
    (B),      -- 按B汇总
    ()        -- 总计
)

结果:

CountryCustIDAmount
USC001100
USC002200
CNC003150
USNULL300
CNNULL150
NULLC001100
NULLC002200
NULLC003150
NULLNULL450

👉 CUBE = 所有组合

 

如果有 N 个字段:

SQL 全选
CUBE(A, B, C)

会生成

SQL 全选
(A,B,C)
(A,B)
(A,C)
(B,C)
(A)
(B)
(C)
()

总数是:2^N 个分组

 

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:Epicor安装步骤
下一篇:没有了
评论列表

发表评论

评论内容
昵称:
关联文章

Epicor BAQ高级汇总
Epicor自建表在Function,BPM,BAQ中的使用
带日期条件的BAQ
带Like条件的BAQ
带Bool条件的BAQ
带有爬虫检测的网站汇总
Epicor解决方案 项目类型说明
BAQ状态是Locked无法修改
Epicor页面根据不同权限显示不同的表格列
Epicor客户端安装
关于Epicor函数中Db
关于Epicor函数中Db
Epicor安装步骤
Epicor Function中保存表数据
Epicor删除收藏夹报错
Epicor判断当前是否正在进行MRP运算
Epicor 12.0.* 升级到12.1.100
Epicor BPM中自定义代码弹出错误提醒
Epicor在BPM中调用自定义函数
高清图片、视频素材网站汇总

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码