在 Excel 或 SQL 中交叉加入
Cross join in Excel or SQL
我正在使用 Gephi 创建网络图,这是我拥有的一小部分数据:
ID Label
1 Sleep quality
2 Stress
3 Healthy Eating
4 Tremor
5 Balance
6 Drooling
7 Exercise
8 Mood
9 Speech
10 Parkinson's On-Off
所以我希望我的图表有这 10 个节点。
然后对于边缘,我有:
Source Target User
1 5 5346
5 4 5346
4 7 5346
7 6 5346
6 9 5346
9 3 5346
3 2 5346
2 8 5346
8 10 5346
"User" 列是我添加的内容,用于解释我遇到的问题。我正在使用一个大数据库(在 SQL 中)来获取这些数据。在移动 phone 应用程序上,用户 select 10 种不同的可用选择(如节点中所列)。在 SQL 我可以很方便地查询数据,这样我就可以获得每个用户的 10 个选择。
用边中的信息创建一个图很容易table,但我还想将每条边连接到所有其他边,这对我来说很重要。因此,例如,1 连接到 "target" 中的所有那些。然后 5 连接到 "target" 中的所有节点,直到每个用户的所有节点都相互连接。
我可以手动执行此操作,但原始数据集有 2000 多个用户,这将花费很长时间。我知道有一种使用交叉连接的方法,可能在 Excel 或 SQL 中...但我不确定如何执行此操作..
谢谢!
您可以将此交叉连接放入您的 SQL 中:(它将列出所有源和所有可能的目标。)
(SELECT e.Source as Source, n.ID as Target
FROM
(SELECT DISTINCT Source FROM tblEdges) as e
cross join (SELECT DISTINCT ID FROM tblNodes) as n
) as xCross
我正在使用 Gephi 创建网络图,这是我拥有的一小部分数据:
ID Label
1 Sleep quality
2 Stress
3 Healthy Eating
4 Tremor
5 Balance
6 Drooling
7 Exercise
8 Mood
9 Speech
10 Parkinson's On-Off
所以我希望我的图表有这 10 个节点。
然后对于边缘,我有:
Source Target User
1 5 5346
5 4 5346
4 7 5346
7 6 5346
6 9 5346
9 3 5346
3 2 5346
2 8 5346
8 10 5346
"User" 列是我添加的内容,用于解释我遇到的问题。我正在使用一个大数据库(在 SQL 中)来获取这些数据。在移动 phone 应用程序上,用户 select 10 种不同的可用选择(如节点中所列)。在 SQL 我可以很方便地查询数据,这样我就可以获得每个用户的 10 个选择。
用边中的信息创建一个图很容易table,但我还想将每条边连接到所有其他边,这对我来说很重要。因此,例如,1 连接到 "target" 中的所有那些。然后 5 连接到 "target" 中的所有节点,直到每个用户的所有节点都相互连接。
我可以手动执行此操作,但原始数据集有 2000 多个用户,这将花费很长时间。我知道有一种使用交叉连接的方法,可能在 Excel 或 SQL 中...但我不确定如何执行此操作..
谢谢!
您可以将此交叉连接放入您的 SQL 中:(它将列出所有源和所有可能的目标。)
(SELECT e.Source as Source, n.ID as Target
FROM
(SELECT DISTINCT Source FROM tblEdges) as e
cross join (SELECT DISTINCT ID FROM tblNodes) as n
) as xCross