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

如何在QlikSense中统计交易金额列中非零数字后的零的数量

Qlik Sense 交易金额末尾零统计解决方案

实现逻辑

核心逻辑为:

  • 先去除金额字段的千分位分隔符、货币符号等非数字内容,转为纯数字字符串
  • 移除字符串末尾所有连续的0
  • 用原始纯数字字符串的长度减去移除末尾零后的字符串长度,即可得到符合要求的零的数量

数据加载脚本实现(适用于数据模型层预计算)

适用于提前在数据加载阶段生成计算字段,后续前端可直接调用:

// 请将下方[交易金额]替换为你的实际金额字段名,你的原表名替换为实际的表名
LOAD
    *,
    Len(KeepChar([交易金额], '0123456789')) - Len(RTrim(KeepChar([交易金额], '0123456789'), '0')) as 末尾零数量
RESIDENT 你的原表名;

函数说明:

  • KeepChar([交易金额], '0123456789'):仅提取金额字段中的数字字符,自动过滤千分位逗号、货币符号等非数字内容
  • RTrim(xxx, '0'):移除字符串末尾所有连续的0字符
  • 两个长度值的差值即为最终统计结果

前端图表表达式实现(适用于前端临时计算)

如果不需要预计算,仅需在前端图表中临时使用,可直接用以下表达式:

Len(KeepChar(Only([交易金额]), '0123456789')) - Len(RTrim(KeepChar(Only([交易金额]), '0123456789'), '0'))

注:如果是聚合计算场景,可将表达式中的Only()替换为对应的聚合函数如Sum()等,使用前请保证计算的金额值为整数,若存在小数可先通过Round()/Floor()函数取整后再计算

结果验证

与需求给出的示例完全匹配:

1,000 = 3 ✅
10,000 = 4 ✅
10,500 = 2 ✅
11,510 = 1 ✅
23,415 = 0 ✅

内容的提问来源于stack exchange,提问作者Shabeen Zarook

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:39:01