求助: xjoin 获取前一个参数中的索引号
大佬们,xjoin 在当前参数位置能否获取到前一个参数的索引号? 比如,有如下叉乘:
在第二部分参数中写过滤条件时,可以用 a 表示之前那个参数中对应的每一个值,用 #来表示当前参数序列中的位置索引,上图中 a<2 在序列 a 中筛选出了数值 0,#>2 表示在当前参数 b 中筛选出位置索引大于 2 的数 2 和 6。那可不可以在过滤条件中获取之前那个参数 a 中的位置索引,也就是在参数 b 中引用到 a 的索引。我想着能引用值,那值对应的索引号应该也能获取,就像在 for 循环中可以用#cellname 获取到循环序号一样,尝试了用#a 来表示索引序号,发现此时的#a 依然表示值,不是序号,如下:
翻了函数文档 xjoin 没有针对索引序号的说明,我想实现以下语句中的写法表示:
b 中的索引序号可以用 #表示,a 中的索引序号在 b 处该如何引用获取,恳请大佬们得闲时给予指导帮助,谢谢🙏
目前实现不了,计算叉乘的时候没有把参数序列压栈,只能通过结果集的字段名 a 引用前面的值。
基于目前的代码只能使用序表参数,给序表增加序号字段来实现这个功能。
知道了,谢谢大佬指导解惑🙏
xjoin 是个神仙函数,好用的很,叉乘真的是无敌,我自己写的递归效率远不及 xjoin,比如以下例子,在键值对 D 中随意选出几个叉乘,xjoin 要快一半以上。
索引序号,函数里面引用不了,只能通过外部方式解决了,有点不甘心啊😄 还有一个问题,xjoin 参数中有几个选项 @1zbo,我也不知道在哪里发现的,现在想回去找,也找不到地方了,这几个参数选项官方文档没有明说,是不是隐藏了?大佬能不能说一下这几个选项的用途,猜测 @z 是倒序遍历,@b 用二分法,@o 是字段有序分段的意思吗,@1 不知道是啥,左连接吗,这跟 xjoin 本身的 @1 有何区别? 参数选项是指括号里的部分: xjoin@1(排列: 字段名称 @1zbo;…)
关键是用 xjoin 语句还简洁,不烧脑:
1 是左连接的意思,其它几个选项目前的代码里都没有了,应该是早已经取消了,之前的含义不记得了。
好的,取消了就不用那些选项了,谢谢大佬🙏