1

BigQuery で github 公開データセットにクエリを実行しています。現在、必要なものに対する私の最良のクエリは次のようになります。

SELECT type, created_at, repository_name FROM [githubarchive:github.timeline]
WHERE
    (created_at CONTAINS '2012-')
AND repository_owner="twitter"
ORDER BY created_at, repository_name;

これにより、repository_owner twitter (または他のユーザー) から、このユーザーが所有するすべてのリポジトリ ("repository_name") のすべてのイベント ("type") が 1 つの列に表示されます。

ただし、私が本当に望んでいるのは、すべてのイベント (「タイプ」) を列に入れ、リポジトリごとに 1 つの列 (「repository_name」) を多かれ少なかれ次のようにすることです。

bootstrap     commons    twui
WatchEvent    PushEvent  PushEvent
WatchEvent    WatchEvent PushEvent

タイムスタンプ (「created_at」) は、順序付けメカニズムとしてのみ関連します。列は同じ長さである必要はなく、1 つの行のイベントが同時に発生する必要はありません。

これを使用して、イベントを R パッケージ TraMineR に入れ、シーケンス分析を行います。

どうすればこれを達成できますか?

4

2 に答える 2

0

これは機能しますか?

SELECT type, created_at, repository_name 
FROM [githubarchive:github.timeline]
WHERE
    (created_at CONTAINS '2012-')
AND repository_owner="twitter"
GROUP BY type,created_at, repository_name;
于 2012-08-09T06:16:07.317 に答える
0

あなたが達成したいことを正確に理解しているかどうかはわかりませんが、次のような方法で列を取得することは可能です:

SELECT type, bootstrap, commons, twui
FROM   (
       SELECT type,
              SUM(IF(repository_name = 'bootstrap', 1, 0)) AS bootstrap,
              SUM(IF(repository_name = 'commons', 1, 0)) AS commons,
              SUM(IF(repository_name = 'twui', 1, 0)) AS twui
       FROM   [githubarchive:github.timeline]
       WHERE  created_at CONTAINS '2012-'
       AND    repository_owner = "twitter"
       GROUP BY type
       )
ORDER BY type
于 2012-08-09T22:49:39.537 に答える