如何判断数据列中是否有指定的某一列?

map("BDL0008","V_STS_MAIN_DATA","BASE_TARGET_CODE","STATISTICS_DAY_VALUE")  单元格中使用了这个公式,怎样检测一下数据表中是否含有 “BDL0008”?

FineReport wsm123 发布于 2020-7-17 14:43
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
zsh331Lv8专家互助
发布于2020-7-17 14:55
=if(INARRAY("列名",TABLEDATAFIELDS("数据集名称"))>0,"存在","不存在")


TABLEDATAFIELDS(tableData):返回tableData中所有的字段名。
备注:
先从报表数据集中查找,然后再从服务器数据集中查找,返回的是tableData的列名组成的数组。
以我们提供的数据源FRDemo为例:
新建数据集ds1:SELECT*FROM[CUSTOMER]
TABLEDATAFIELDS("ds1")等于CUSTOMERID,CUSTOMERAME,CITY,COUNTRY,TEL,DISTRICT。


最佳回答
0
snrtuemcLv8专家互助
发布于2020-7-17 14:49

直接使用sql函数,

if(sql("DBName","select STATISTICS_DAY_VALUE from V_STS_MAIN_DATA where  BASE_TARGET_CODE='BDL0008'",1,1)>0,"有","没有")

最佳回答
0
IceBall09Lv6中级互助
发布于2020-7-17 15:43
INARRAY("BDL0008",sql("数据库名称","SELECT DISTINCT BASE_TARGET_CODE FROM V_STS_MAIN_DATA ",1))>0

如果是true 就是有,false 就没有。

  • wsm123 wsm123(提问者) 可是sql()里面的那段sql非常的长,而且这样写的话会不会这段sql执行很多次,会不会影响加载速度?
    2020-07-20 09:42 
  • 4关注人数
  • 633浏览人数
  • 最后回答于:2020-7-17 15:43
    请选择关闭问题的原因
    确定 取消
    返回顶部