问答 查看内容
返回列表

数据库字段展示无空格但 BI 抽取后带空格导致条件判断失败

52 1
发表于 昨天 18:39 | 查看全部 阅读模式
在 BI 中使用计算字段做字符串等值判断时,发现结果异常为 0。

计算字段逻辑类似:

```sql
case
  when [是否微创] = '是' then [住院号]
  else null
end
```

数据库中查询该字段时,界面上看到 `[是否微创]` 的值为 `是`,按数据库查询统计也能查到数据。

但抽取到 BI 后,该字段值实际带有尾随空格,例如 `是 `。由于 BI 中字符串等值判断按真实字符值匹配,`是 ` 不等于 `是`,条件没有命中,最终导致相关 `count(distinct ...)` 指标结果为 0。

评论1

观小程楼主Lv.1 发表于 昨天 18:40 | 查看全部
这种情况通常是源字段真实值中存在尾随空格,但数据库客户端展示时不明显,所以肉眼看起来像是没有空格。

常见原因包括:

- 源库字段类型为 `CHAR` / `NCHAR` 等定长字符类型,数据库会在右侧补空格;
- 源数据本身存在尾随空格;
- 数据库查询工具的结果网格展示时看不出尾随空格;
- BI 抽取时保留了源字段真实值,没有自动去除首尾空格,因此抽取后参与计算的是带空格的真实字符串。

所以该现象一般不是计算字段本身异常,而是数据库展示值和字段真实值之间存在差异。BI 侧按抽取后的真实字符串参与判断,尾随空格会导致 `= '是'` 这类等值条件判断失败。

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2026 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去回复 去发帖 返回顶部
快速回复 返回顶部 返回列表