找回密码
 立即注册

QQ登录

只需一步,快速开始

小土 悬赏达人认证

初级会员

12

主题

233

帖子

433

积分

初级会员

积分
433

悬赏达人

小土 悬赏达人认证
初级会员   /  发表于:2021-12-1 15:25  /   查看:3207  /  回复:12
1金币
众所周知, 表格的查询条件策略,类似如下:
字段  等于(或者其他条件)  单元格;

此时如果单元格为空时,默认查询所有数据。
------------------------------------------------------------------------
但是 odata公式并不是如此,其查询条件,类似如下

字段 等于(或者其他条件) 单元格 , 然后生成odata公式

此时如果单元格为空时,则查询不到任何数据。
------------------------------------------------------------------------
现在我可以通过加,if/ifisblank等语句,将 表格查询策略 变和 odata公式查询 类似。

目的/需求:
现在想找办法,使ODATA公式查询策略变得类似于 表格查询的策略。
-------------------------------------------------------------------------
具体实现场景:
外部视图,拉入活字格,根据页面查询条件(9个文本框), 查询 数值,之后用=sum(odata())求和,
9个查询条件可填可不填。
-------------------------------------------------------------------------
目前尝试: 尝试修改ODATA中,IFISBLANK()部分,没改成功。
用SQL语句倒是挺简单的,只是有点  杀鸡焉用宰牛刀  的感觉。暂不考虑吧。
请求大佬们 想想办法. ‘
-------------------------------------------------------------------------
odata公式如下,demo已传
=ODATA("表1/$count?$filter=ID gt "&IF(ISBLANK(I2),"null",I2))



附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

12 个回复

正序浏览
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-1-7 09:22:46
13#
小土 发表于 2022-1-7 08:40
现在回想起来,我确实说的不够清楚,soryy啦

大佬这客气的~能够帮助大佬们和大佬们一起解决问题才是关键~
回复 使用道具 举报
小土悬赏达人认证
初级会员   /  发表于:2022-1-7 08:40:05
12#
David.Zhong 发表于 2021-12-2 18:08
大佬,和金牌用户无关哈,所有用户的问题我们都会认真解答。我的意思是demo上的只有一个odata,大佬说的 ...

现在回想起来,我确实说的不够清楚,soryy啦
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-12-2 18:08:00
11#
小土 发表于 2021-12-2 15:17
demo就是这个demo啊,具体场景?
我根据查询条件,查询表格,对其中某列进行汇总(因为是表格是动态加载, ...

大佬,和金牌用户无关哈,所有用户的问题我们都会认真解答。我的意思是demo上的只有一个odata,大佬说的实际的场景,会有9个文本框;demo上的odata使用的条件是大于,而大佬说的实际场景使用的包含关系。针对的大佬提供的demo,有解决的方案。但是不一定适用于大佬的实际场景。这样说可以理解吗?

评分

参与人数 1满意度 +10 收起 理由
小土 + 10

查看全部评分

回复 使用道具 举报
小土悬赏达人认证
初级会员   /  发表于:2021-12-2 15:17:10
10#
本帖最后由 小土 于 2021-12-2 15:19 编辑

demo就是这个demo啊,具体场景?
我根据查询条件,查询表格,对其中某列进行汇总(因为是表格是动态加载,用sum()不行)
所以专用odata 根据条件进行求和。转化成解决方法,就是
就是ODATA公式的查询条件在文本框,如果文本框有值就查该条件,没有就忽略条件。我很想吐槽 你把demo里面的等于 换成 包含 再探索就这么困难吗- -,
难道就因为我没用公司的金牌会员号吗
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-12-2 15:07:14
9#
包含肯定不是直接换成0鸭。大佬,你要不按照实际场景做个demo,我看能不能针对具体场景想想办法。不要问一句说一句鸭。不然大家怎么帮你分析呢~
回复 使用道具 举报
小土悬赏达人认证
初级会员   /  发表于:2021-12-2 08:40:45
8#
本帖最后由 小土 于 2021-12-2 08:41 编辑

显然不行,我先把  数值字段 类型改成文本,
=ODATA("表1/$count?$filter=contains(数值,"&IF(ISBLANK(I2),0,"'"&I2&"'")&")")
尝试包含关系,但是并不能行,ifisblank()中间为空时的  ,值不管填 0,填""都是不行
恕在下见识短浅

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-12-1 18:54:13
7#
小土 发表于 2021-12-1 18:17
这个我倒是没试过。这样可以查到吗?字符串包含也可以吗?

得具体看下逻辑  ,大概是这个思路~
回复 使用道具 举报
小土悬赏达人认证
初级会员   /  发表于:2021-12-1 18:17:34
6#
现在不在公司,没有工具尝试。
回复 使用道具 举报
小土悬赏达人认证
初级会员   /  发表于:2021-12-1 18:17:04
5#
这个我倒是没试过。这样可以查到吗?字符串包含也可以吗?
回复 使用道具 举报
小土悬赏达人认证
初级会员   /  发表于:2021-12-1 17:53:26
3#
这个方案,我想过,可以实现,但是可行性不是很高,一共有9个文本框需要判断,组合下来一共有512种情况。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部