【简道云·“别具一格的表单”】利用子表单实现随机抽题(真随机)

楼主
简道云官方指定服务商
6
选手介绍
企业名称:陕西低代码软件有限公司

选手简介:李涛、技术经理,主要研究低代码产品,助力企业信息化建设。
表单链接:点击这里

业务背景
大概是2019年初,来源于一位客户好友的技术问题,想实现随机抽题,但题库是动态导入,并且题数不固定。


使用对象
  • 面向公司同事,参与公司技能考核或者面试时,,通过手机PC端打开表单答题。

  • 面向外部人员,涉及到党员培训、技能考试、问卷调查等场景,都会用到的随机考试。

设计思路     
  • 思考过程:对于最初简道云的理解,就是把题或者题数写死,无法实现动态变化,要想实现动态变化,只能是子表单。再者,子表单中用RAND随机数的话,会出现重复的随机数,所以还是需要在主表单中获取。对于重复的数,我们可以用UNION函数加RAND函数现实

  • 步骤一:建立题库基础表单,题型、题号、题目与答案。
  •   

  • 步骤一:获取题库中数量
  •   


  • 步骤二:利用尽量多的随机函数抽取尽量多的随机数


  • 但注意:这里可以利用子表单组合



  • 步骤三:再利用去重函数去除


  • 步骤四:最后拆分字符排列到试题子表单中
  •    
  • 其中单选题选用单选按钮组,多选题选用复选框组,而非下拉复选框,这里需要避免下拉复选框组会出现计算时排序错乱的问题,判断题选用单选按钮组。

  • 布局:利用多标签的功能实现

  • 特点:函数逻辑简单,分值计算简易,直接利用sum()求和子表单中分值即可。


  •   答题完成后,直接显示答题分数。
  •    
  • 移动端界面截图



作品价值
  • 使用价值,真正解决简道云动态随机抽题的问题。
  • 客户评价:曾多次在客户群中直播分享,并探讨出多种实现该问题的方式。
  • 心路历程:其实这个功能早就是2年前就实现的功能,笔者对接客户颇多,真正能提高技术的方法就是对客户天马行空的需求,着手去实现,客户来自任何地方,思想不会局限于你的功能基础,所以才有可能提出你想不到的需求。这里我其实想说的是,功能实现不是难点,解决问题的方法和决心是重点。

编辑于 2021-4-7 20:23  

编辑于 2021-4-7 20:31  

编辑于 2021-4-7 20:32  
编辑于 2021-4-7 20:33  
分享扩散:

沙发
发表于 2021-4-8 10:22:33
6
板凳
发表于 2021-5-6 16:52:07
6
解决了试题重复的问题,感谢分享
地板
发表于 2021-5-7 10:53:54
6
多谢分享
5楼
发表于 2021-5-12 17:18:25
6
晕,这个很好啊,就是不知,答案如何随机打乱啊
6楼
发表于 2021-5-13 07:55:49 发布于APP客户端
6
估计得以后官方想办法打乱选择项了,我看问卷星只要勾选项随机就可以了,咱简云,这块要加强哦
7楼
发表于 2021-6-9 09:13:00 发布于APP客户端
6
我看你们和随机题库杠上了
8楼
发表于 2021-6-21 19:21:38
6
李总厉害!
9楼
发表于 2021-6-25 15:43:46 发布于APP客户端
6
看了这么久,终于明白过来,然来,你们是分别按题型查询出来,我以为是一次随机,再分出题型啊
10楼
发表于 2022-2-25 14:34:20
6
这个根据解决了随机抽取的问题,但是怎么按照数量来抽取呢?
如:一套题抽取20道单选,10道多选;使用随机函数并去重后,题目的数量也是不确定的,有可能去重后是18道而已、也有可能是21道
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

9回帖数 7关注人数 12473浏览人数
最后回复于:2022-2-25 14:34

返回顶部 返回列表