sql - 在会议上最大限度地增加客人之间的新相遇次数
问题描述
我正在主持一系列会议。有24位客人。每次会议两到三次,我们分成 2-6 人的不同小组。我想最大化新的相遇,所以我正在寻找一种算法来帮助我进行新的匹配,这样每个人都可以遇到其他人。
我目前的想法是将数据记录在 Google Sheets 中,然后使用QUERY 函数来分析数据。(QUERY 与 SQL 语法非常相似。)
这是“Round1”表:
subgroup1 | subgroup2
==========|==========
Adam | Edith
Ben | Fran
Chris | Gary
Dave |
'Round2' 的表格如下所示:
subgroup1 | subgroup2 | subgroup3
==========|============|===========
Adam | Ben | Dave
Gary | Fran | Edith
Chris | |
我想要做的是使用这些数据并输出这样的图表,显示谁遇到了谁:
Adam Ben Chris Dave Edith Fran Gary
Adam X TRUE TRUE TRUE FALSE FALSE TRUE
Ben TRUE X TRUE TRUE FALSE TRUE FALSE
Chris TRUE TRUE X TRUE FALSE FALSE TRUE
Dave etc...
Edith etc...
Fran etc..
Gary etc...
谁能帮助我思考如何使用 QUERY/SQL 将这些输入表转换为输出图表?
解决方案
如果您查看共享工作表上名为 MK.Help 的新选项卡上的单元格 B3,您会发现这个公式:
=ARRAYFORMULA(IF((B2:2="")+(ROW(A3:A)>COLUMN(B2:2)),,COUNTIF(QUERY(TRANSPOSE('One table'!A:E),,9),"*"&A3:A&"*"&B2:2&"*")+COUNTIF(QUERY(TRANSPOSE('One table'!A:E),,9),"*"&B2:2&"*"&A3:A&"*")))
这告诉您基于名为 OneTable 的选项卡的热图计数,仅此而已。当您将组添加到 OneTable 选项卡时,它将无限期地自行填充。
这就是你的目的吗?
推荐阅读
- azure-functions - Azure 函数依赖项
- pytorch - 在 pytorch-geometric 中加载单个图像
- node.js - 在 Heroku 上部署后,我的反应节点应用程序未从后端读取数据
- pine-script - 返回绘图颜色
- azure - 不会部署 Arm 模板。说缺少 NSG 资源,但它包含在模板中
- r - 如何过滤分类变量发生变化的行
- python - 在“:”上拆分字符串时如何处理日期和时间
- python - 执行某些方法后,我们什么时候需要重新分配变量?
- json - 您是否需要为 JSON 中的每个值映射一个工厂,还是只能获取我想要的值?
- python - 气流如何按小时赶上