大数跨境
0
0

衡石AI语义层使用全攻略——高级计算函数之Calculatex

衡石AI语义层使用全攻略——高级计算函数之Calculatex 衡石科技
2025-10-17
2
导读:NL2Metrics


导言


衡石 HQL 是一门函数式语言,其设计初衷是简化计算逻辑表达、降低分析师使用门槛 —— 复杂的过程逻辑被封装为简洁函数,分析师可像使用 Excel 公式一样,轻松表达复杂计算逻辑。

在 HENGSHI SENSE 中,字段定义、指标设置、权限规则配置等操作,均能通过函数编写实现。而涵盖各类场景的计算函数所构成的丰富函数库,既是衡石 HQL 的核心,也是其计算表达能力的重要体现。

除常见的文本函数、日期计算函数、聚合函数、窗口函数外,HQL 还包含多款高级表计算函数,可支持用户表达更复杂的计算逻辑。本期专题将结合实际场景,为大家介绍其中一个用途广泛的高级计算函数 ——CALCULATEX。

使用场景及案例实战


在数据表分析中,分析师常需定义虚拟列。部分虚拟列是行内计算指定的(如单条消费记录的付款金额=数量*单价),还有不少虚拟列无法在行内计算,而是需在原表基础上按特定逻辑通过行间聚合计算得到(例如在分城市库存表中新增 “所属省份总库存” 列,由同一省份的各城市库存值汇总得到)。


在传统分析流程中,这类聚合型的虚拟列通常需先构建中间数据集,再与原表关联生成,过程中会产生大量临时数据集的创建与存储冗余。而在衡石体系中,部分场景可直接使用 CALCULATEX 函数定义此类虚拟列,无需显式构建临时中间表。


CALCULATEX 函数格式为:CALCULATEX(ARG1, ARG2,... ),各参数含义如下:

ARG1:指定中间表的聚合指标,该指标也是函数最终输出的列值;

ARG2~ARGn:指定中间表的聚合维度,同时中间表会基于这些维度与原表关联,形成完整分析视图。


以下我们统计2个实际的案例来具体看看该函数的使用场景。

案例1:

客户价值分类与销售数据分析

需求背景:基于零售交易数据明细(含客户 ID、销售额、销量等字段),按客户总销售额划分价值类型:总销售额<20000 为 “低价值客户”,20000≤总销售额≤50000 为 “中价值客户”,总销售额>50000 为 “高价值客户”;最终统计不同价值类型客户的总销售额、总销量及客户人数。

订单ID   客户ID   商品   销售数量   销售额    

cn0001    user1    A    3    100    

cn0001    user1    B    2    30    

cn0002    user2    A    5    150    


需求分析:

客户价值标签的本质是构建虚拟列,该列需通过 “临时中间表聚合计算 + 与原表关联” 生成,具体逻辑如下:

以 “客户 ID” 为中间表聚合维度,以sum({销售额})为统计指标,结合 CASE WHEN 函数划分客户价值标签;

将临时中间表按 “客户 ID” 与原始明细表面关联,在原表中新增 “客户价值” 虚拟字段,为每条销售记录对应的客户打上价值标签,便于后续分析。


因此,此处即可使用CALCULATEX函数直接定义该虚拟字段,无需实际构建中间表,表达式如下。

最终该虚拟字段即可直接在图表上作为维度,分析展示不同价值客户分类下的销额、销量、客户数等指标


案例2:

消除重复记录的退货率

需求背景:在数仓大宽表构建中,常出现 “不同粒度统计指标整合” 的情况,易导致记录重复问题。例如某退货统计表中,“退货数量” 按 “日期、品类、类别、退货原因” 粒度统计,“总销售数量” 按 “日期、品类、类别” 粒度统计(与退货原因无关),最终表中同一 “日期、品类、类别” 会对应多条记录,且 “总销售数量” 值完全重复。


此时若直接用sum(退货数量)/sum(总销售数量)计算 “每月各品类退货率”,会因 “总销售数量” 重复统计导致结果失真,需先对 “总销售数量” 进行去重处理。


需求分析:

为了准确统计退货率,针对销售数量字段存在的重复值,我们第一时间的想法是想办法对销售数量字段进行排重,再进行总销量的统计。


去重核心思路是:按 “日期、品类、类别” 分区,为每个分区内的重复数据添加 “序号” 虚拟字段,仅取序号 = 1 的记录参与 “总销售数量” 统计。而 CALCULATEX 函数可高效构建 “序号” 虚拟字段,具体步骤如下:


具体构建过程如下:

1)销售数量以日期、品类、类别粒度统计,故用分区函数计算分区内序号,并用CALCULATEX构建出序号字段

2)构建[总销售销量]指标,只取序号为1的记录纳入统计,实现排重汇总

3)退货率为 sum(退货数量) / [总销售销量],其中 [总销售销量]为以上排重汇总的计算公式

最终实现效果如下:


从以上图表查询转化出来的SQL语句,也可以更清晰地展现其中的计算过程。


结语


在 HENGSHI SENSE 中,数百个简洁且功能强大的函数构成了 HQL 的核心,助力分析师轻松表达各类指标与查询计算的复杂逻辑。相较于其他 BI 厂商,衡石拥有更丰富、更强大的函数库,这也是其在分析语义层能力上的核心优势。

在本系列后续文章中,我们将继续结合实际案例,分享 HQL 中更多高级函数的功能与用法。




相关推荐

邀请函|衡石科技与您相约明道云MPC2025 千人生态峰会

凉风有信,秋月无边|衡石九月头条

以孤勇开新局,衡石如何在BI赛道谱写新声? | 数据猿专访

数智·共赢|方元互联签约衡石科技







  关于衡石科技





衡石科技创新性定义下一代的搭载指标和 AI 能力的企业级 BI PaaS,专注赋能全行业的企业软件 SaaS 厂商敏捷构建数据智能。旗下核心产品 HENGSHI SENSE 让合作伙伴在业务场景中零代码上线 AI 助手、BI 自助分析、指标中台、运营看板等高级功能,驱动业务的数智化转型。

衡石科技目前已经和亚马逊云科技、阳狮集团、深信服、致远互联、天润融通、宝尊电商、树根互联、蓝色光标、纷享销客、六度人和、黑湖科技、明道云、分贝通、酷学院、特赞等超过两百家先进 SaaS 伙伴落地深度合作,让built-in的商业分析即刻上线,产品生态合作已覆盖数字营销、业财费控、ERP、CRM、HR、MES、低代码、供应链管理等数十个垂直领域。             



↓点击立即「申请试用」

【声明】内容源于网络
0
0
衡石科技
1234
内容 283
粉丝 0
衡石科技 1234
总阅读862
粉丝0
内容283