子表成员多选问题

1688970009675.jpg子表中的一条记录可能会有多个责任人,每个责任人根据岗位不同扣分也不同,在子表中使用的是成员多选,但成员多选不能提取出来,怎么才能实现每个责任人扣分的功能(不使用数据工厂),比如子表第1行责任人是3个人,其中2个人(1号、2号)是一个岗位,各扣2分,剩下一个(3号)扣3分,子表第2行责任人是2个人,其中1个人(3号)是第1行中的责任人,扣3分,剩下一个(4号)扣1分,实际责任人4人,1号扣2分,2号扣2分,3号扣6分,4号扣1分

简道云 mana 发布于 2023-7-10 12:28 (编辑于 2023-7-10 14:20)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
schyLv5初级互助
发布于2023-7-11 08:09(编辑于 2023-7-11 08:37)

我觉得可以这样设计:

先做一个单独的姓名表,添加两个字段,姓名和成员单选。

然后在这个定责任的扣分子表中,每个子表单行添加多个成员单选,和对应的责任扣分,同时再添加一个文本字段:姓名,用关联数据从姓名表中把姓名关联过来。

这样你就获得了一个:姓名1,姓名1扣分,姓名2,姓名2扣分,姓名3,姓名3扣分...这样的一组数据。

然后添加一个文本字段:姓名扣分汇总,公式:concatanate(姓名1,姓名1扣分,姓名1,姓名2,姓名2扣分,姓名2,...)

再添加一个文本字段姓名汇总,公式:concatenate(姓名1,“,”,姓名2,“,”...),把所有姓名字段汇总进来

在主表添加一个文本字段全部扣分,公式:concatenate(扣分子表.姓名扣分汇总)

再在主表添加一个文本字段,全部姓名,公式:concatenate(扣分子表.姓名汇总)

然后主表添加一个文本字段:全部姓名:公式:union(split(全部姓名),",")

再添加一个文本字段,人名数量,公式:count(split(全部姓名),",")

然后再添加一个子表单:扣分汇总,用来计算每个人的扣分。

添加一个序号字段,用子表单关联生成对应的行数。

然后添加一个文本字段,姓名,公式:index(union(split(全部姓名),“,"),value(序号)),在没行子表单中取出对应这个序号的人的姓名。

再添加一个数字字段,公式:sumproduct(split(姓名扣分汇总),姓名),计算出这个人的扣分。

这样你就在这个”扣分汇总“子表单获得了全部人名和他对应的扣分汇总分数。

通过文本关联出1-200行任意数量子表单的方法之前很多人介绍过,这里就不赘述了。

下面是我做的一个demo,亲测有效!

测试外链:https://sjjrj0b41q.jiandaoyun.com/f/64ac9e6700ba790008154c20

如果扣分明细表非要用成员多选,其实也是可以的,只是需要把多选出的那个数组用函数分配到姓名1、姓名2...这些控件中即可。但是感觉没有必要搞那么复杂。

下面是测试页面的截图,扣分明细表添加人和修改分数后,最下面的扣分汇总子表单会自动进行计算。

image.png

  • mana mana(提问者) 谢谢,试了是可行的,就是需要多选拆分下
    2023-07-11 15:47 
  • schy schy 回复 mana(提问者) 是的,多选拆分避免不了。
    2023-07-11 16:59 
最佳回答
0
坚定的小帆薯Lv7高级互助
发布于2023-7-10 13:12

因为计算规则不一样,为啥不多选几个责任人呢,分岗位进行选择

  • mana mana(提问者) 分岗位选择可以的,但是怎么把扣分汇总在一起呢,比如子表第1行选择3个同一岗位的责任人,第3行的责任人有1个是第1行中的责任人,那同名的扣分怎么汇总在一起呢
    2023-07-10 13:51 
  • 坚定的小帆薯 坚定的小帆薯 回复 mana(提问者) 可以配一张图,担心理解有误。 就问题来说,如果第一行、第二行、第三行规则也不一致, 有两个方式区分:①直接行转列,列的计算就比较容易了;②给个行编码,比如A行,B行,在按照对应行规则进行合计。 以上仅供参考,看是否适合,感觉规则有点复杂,太复杂的数据处理还是要用数据工厂,前端尽量做收集
    2023-07-10 14:02 
  • mana mana(提问者) 回复 坚定的小帆薯 刚刚上传了一张图片,其实也挺简单的,就是不知怎么达成效果,1.2.3行一共是5个责任人,每个扣分都是0.2分,怎么汇总每个人总的扣的分数
    2023-07-10 14:22 
  • 坚定的小帆薯 坚定的小帆薯 回复 mana(提问者) 每个责任人扣分都是0.2么,如果是的话,直接用SPLIT把责任人拆分,在进行汇总即可的
    2023-07-10 14:46 
  • 坚定的小帆薯 坚定的小帆薯 回复 mana(提问者) 感觉和你题目说的不一样,题目说的主责任人和负责任人【或者说岗位区分】,而且每一行的扣分也不一样的
    2023-07-10 14:47 
  • 3关注人数
  • 404浏览人数
  • 最后回答于:2023-7-11 08:37
    请选择关闭问题的原因
    确定 取消
    返回顶部