开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

"dataworks中数字翻牌器,我想实现区分无数据和数据为0的两种情况,有什么比较好的解决方案吗?

"dataworks中数字翻牌器,我想实现区分无数据和数据为0的两种情况,有什么比较好的解决方案吗?我刚刚试了几种方式,这个数字翻牌器在遇到错误数据或者无法匹配的情况下,仍然是会回显0。要怎么解决呢? lQLPJxafgkgJ807MhczXsJYYXTwNUNSVAwZn2_cAVAA_215_133.png

lQLPJxafgkgJ833NAonNAQawpocK4S45174DBmfb94CJAA_262_649.png"

展开
收起
刮胡子的23号 2022-08-29 17:57:36 567 0
1 条回答
写回答
取消 提交回答
  • CSDN全栈领域优质创作者,万粉博主;InfoQ签约博主;华为云享专家;华为Iot专家;亚马逊人工智能自动驾驶(大众组)吉尼斯世界纪录获得者

    在DataWorks中,数字翻牌器通常用于将文本数据转换为数字数据。如果您想实现区分无数据和数据为0的两种情况,可以考虑以下解决方案:

    1. 使用IF函数进行判断:可以在数字翻牌器的公式中使用IF函数来判断是否存在数据。例如,可以使用如下公式:

    IF(ISBLANK(D1), "", CONCATENATE(LEFT(D1, FIND("0")-1), IF(RIGHT(D1, 1)="0", "", "")))

    其中,ISBLANK函数用于判断D1单元格是否为空,如果为空则返回空字符串;CONCATENATE函数用于连接字符串;LEFT函数用于提取D1单元格左侧的字符;FIND函数用于查找第一个出现的“0”的位置;IF函数用于判断右侧是否为“0”,如果是则返回空字符串,否则不返回任何内容。

    1. 使用逻辑运算符进行判断:也可以使用逻辑运算符来进行判断。例如,可以使用如下公式:

    =IF(OR(ISBLANK(D1), D1="0"), "", CONCATENATE(LEFT(D1, FIND("0")-1), IF(RIGHT(D1, 1)="0", "", "")))

    其中,OR函数用于判断D1单元格是否为空或者是否为0,如果是则返回空字符串;CONCATENATE函数用于连接字符串;LEFT函数用于提取D1单元格左侧的字符;FIND函数用于查找第一个出现的“0”的位置;IF函数用于判断右侧是否为“0”,如果是则返回空字符串,否则不返回任何内容。

    2023-05-31 13:59:29
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks高效数据分析最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载