2017-03-20 4 views
0

에 참여, 여기에 내가 가지고있는 데이터의 작은 하위 집합입니다. 크로스 내가 네트워크 그래프를 만들 수 Gephi을 사용하고 Excel 또는 SQL

그런 다음 가장자리를 들어, 내가 가진 :

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 

"사용자"열이 나는 데 문제를 설명하기 위해 추가 한 무언가이다. 이 데이터를 얻기 위해 큰 데이터베이스 (SQL)를 사용하고 있습니다. 휴대 전화 앱에서 사용자는 (노드에 나열된대로) 사용 가능한 다양한 선택 항목 중 10 개를 선택합니다. SQL에서는 데이터를 쉽게 쿼리하여 각 사용자의 10 가지 선택 항목을 얻을 수 있습니다.

에지 테이블에있는 정보로 가장자리를 가진 그래프를 쉽게 만들 수 있지만 각 가장자리를 다른 모든 가장자리에 연결하고 싶습니다. 이것은 나에게 중요합니다. 예를 들어 1은 "대상"에있는 모든 사람과 연결됩니다. 그러면 모든 노드가 각 사용자에 대해 서로 연결될 때까지 "대상"에있는 모든 노드에 연결됩니다.

이 작업은 수동으로 수행 할 수 있지만 원본 데이터 세트에는 2000 명이 넘는 사용자가 있으며 시간이 오래 걸립니다. 아마도 Excel 또는 SQL에서 크로스 조인을 사용하는 방법이 있다는 것을 알고 있지만이 작업을 수행하는 방법을 잘 모르겠습니다.

감사합니다!

당신이 교차하여 SQL에 가입 놓을 수
+1

는 의미하고 무엇 전혀 분명하지 않다 설명도별로 도움이되지 않습니다. 원하는 결과물을 공유 할 수 있습니까? 데이터를 마사지하는 방법을 이해할 수 있도록 한 명의 사용자 만 사용할 수 있습니다. – JNevill

답변

1

는 (. 그것은 모든 소스의 모든 가능한 대상의과 목록을 것이다) 다른 모든 가장자리에 가장자리를 연결

(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