BOXとは?
BoxはGoogleが提供するGoogleドライブ、Microsoftが提供するOneDriveなどと同じクラウドストレージサービスです。Googlドライブ、OneDriveなどは利用に各サービスのアカウントが必要であったり、ストレージ容量の制限があるなどからあえてそれらを利用せずBoxをストレージとして利用している企業もあるのではないでしょうか。
概要
Boxは単なるファイルの置き場としての機能の他に、クラウド上で動作するデータベースとしても使えます。ですがBox上のデータを基に分析するには別途DWHとのデータパイプラインの構築が必要であるほか、データの更新をどうやってDWHへ反映させるかという点が課題となってきます。
そこで今回は、trocco®というデータ分析基盤構築サービスを使い、Boxのデータ抽出、DWH(今回はSnowflakeを利用します。)へのデータ統合自動化、LookerというBIツールを用いた可視化を行います。
なお今回データの転送手段として採用したtrocco®はBoxの他にも、様々な広告・CRM・DBなどのデータソースにも対応しています。

ゴール
下の画像のようなBoxのデータを

Snowflakeへ統合し、

Lookerで可視化します(作成後は自動で最新のグラフに更新されるようにします)

こんな人におすすめ
- Boxのデータをうまく活用して分析をしたいが、データの転送作業に苦戦している
- LookerやSnowflakeでデータ分析をしたい
- 様々なデータの分析に時間の浪費を感じている
1-0. trocco®でBox → Snowflakeの転送自動化
1-0. 事前準備
データの転送のためにはtrocco®のアカウント・Boxのアカウントが必要です。
無料トライアルを実施しているので、事前に申し込み・登録しておいてください!
https://trocco.io/lp/index.html
(申し込みの際にこちらの記事を見たという旨を記載して頂ければその後のご案内がスムーズに行なえます。)
1-1. 転送元・転送先を決定
trocco®にアクセスして、ダッシュボードから「転送設定を作成」のボタンを押します。

転送元に「Box」を指定し、転送先に「Snowflake」を選択して「この内容で作成」のボタンを押します。

設定画面になるので、必要な情報を入力していきます。
1-2. Boxとの連携設定
trocco®には社内のユーザー間でチームを作成し、チームで転送設定を共有する機能があります。他のメンバーにもわかるように、転送設定の名前とメモを入力しておきましょう。

次に「転送元Boxの設定」内の「接続情報を追加」ボタンを押します。

別のタブでBoxの接続情報の新規作成画面が開きます。
接続情報を作成するためにJSONファイルを取得する必要があります。

JSONファイルの取得方法は以下の通りです。
https://documents.trocco.io/docs/connection-configuration-box?highlight=Box
問題なくJSONファイルが取得でき、接続設定が作成できたら「接続情報を読み込む」ボタンを押すと先ほど作成した接続情報が選択できるようになります。

1-3. Boxからのデータ取得設定
取得するデータを指定します。
- フォルダーID
- Boxの管理画面より当該フォルダーに遷移し、URLからフォルダーIDを取得します
- パスプレフィックス
- 取得するファイル名のパスプレフィックスを指定します
- 入力ファイル形式
- ファイルの入力形式を指定します

1-4. 転送先Snowflakeの設定
転送元と同様にまずSnowflakeの接続情報を作成していきます。
転送先となるSnowflakeの接続先ホスト、ユーザー名およびパスワードが必要です。

先ほど作成した接続情報を選択し、転送先とするウェアハウス、データベース名、スキーマ名を設定します。
転送モードに関してはreplaceを選択します。各転送モードの詳細はこちらの「転送モードについて」をご確認ください。

これで入力は完了です。「保存して自動データ設定・プレビューへ」をクリックし、確認作業に進みましょう。
1-5. データのプレビュー
少し待つと、転送元のデータがプレビューされます。ここではBoxから取り込んだデータが表示されています。

転送したいデータが取得できているので、このまま「スケジュール・通知設定」に進みます。
1-6. スケジュール・通知設定
「スケジュール・トリガー設定」タブを開きます。

「スケジュールを追加」ボタンを押すと、以下のような入力欄が出てきます。ここで実行スケジュールを設定することで、転送を定期的に実行し自動化することが出来ます。

1-7. データ転送ジョブの実行
設定は以上です。最後に、手動で転送ジョブを実行し、Snowflakeにデータを送ります。
手動でジョブを実行する場合は転送設定の詳細画面から「実行」ボタンを押します。

これで転送は完了です。
2. Snowflakeの設定
Snowflake側から操作することは特にありませんが、念の為Snowflakeのコンソール画面から確認してみるとデータが確かにデータが転送されています。

3. Lookerで可視化
最後にこれらのデータをLookerで可視化していきます。
まずはSnowflakeとLookerの接続設定を行います。
管理タブを開いて「データベース」の「接続」を開きます。

接続しているデータベース一覧が表示されています。ここで「Add Connection」 → 「Database Connection」から接続するデータベース情報を入力します。


Snowflakeのデータベースに接続できたら、次はデータを可視化するために必要なLookMLプロジェクトを作成していきます。開発タブを開いて「LookMLプロジェクトの管理」に移動します。

「New LookML Project」からLookMLプロジェクトを作成します。


「Create Project」を押したら、エディタでmodelとviewを定義します。 後々必要になるので、modelの中ではexploreを設定しておきましょう。 (書き方が分からない場合はLookerの公式ドキュメントを参照してください)


これで下準備が整いました。 トップページに戻って「New」からDashboardを作成します。

白紙のダッシュボードが作成されるので「box_snowflake_dash」と名前をつけます。
そして「Dashborardの編集」→「タイルの追加」を選択し、先ほどのmodel内で定義したExploreを選択します。

ディメンションとメジャーを設定し、Tileに表示したいデータをプロットします。例えば、キーワードのクリック率を分析したいときはディメンションに「年度」とメジャーに「総合」を選択します。

そのほかに必要なタイルを作成し、ダッシュボードにまとめていきます。

これで完成です。
まとめ
いかがでしたでしょうか。trocco®を使うと、Boxのデータを簡単にDWH(今回はSnowflake)に統合することが出来ます。
Snowflakeにデータを統合すると、Lookerと連携することでデータを使ってグラフを作り、可視化できます。
実際にtrocco®試してみたい場合は、クレジットカード不要のフリープランや無料の製品資料を提供しているので、この機会にぜひ一度お試しください。
