社内にあるデータをDomoに取り込む方法

# はじめに

会社にDomoがやってきたので、やったことをメモがてら公開することにしました。

# Domoとは？
公式サイトはこちらにあります。
https://www.domo.com/jp

# 対象
・Domoの導入したばかりの人
・イントラにあるデータをDomoで利用したい人
・Workbenchをどうやって設定するかわからない人
・Domoのページに概要があるが、見てもよくわからなかった人
https://domo-support.domo.com/s/article/360042932554?language=ja

# 目的
Domo社から提供されているWorkbenchというツールを使って、社内にあるデータをクラウド上のサービスにあるDomoのDataSetに格納する。
※DataSetとは、Domo上でデータ分析をするための、元となるデータのかたまり。

# 環境
![Domoテーブル設計.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/d6bdfbfc-63a1-60c5-0f1a-967dcd56c81e.jpeg)

Domoはクラウドサービスなので、Domo環境から社内ネットワークの環境にはアクセスできないため、社内のPCやサーバからDomo環境にデータを送る必要があります。

自分のPCでやってもよいのですが、データを誰も触っていない夜中にデータを送りたいので、24時間動かしているPC（サーバ）を用意しました。

# Workbenchインストール手順
Workbenchのインストール手順について記載する。

## 1.管理者メニューからダウンロードする。
最新であるWorkbench5.2をダウンロードします。
![00_初めに.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/f68b2f03-94f2-2a1f-fb50-5cc17d302c1f.png)


## 2.ダウンロードしたインストーラを実行
起動したら、必要なODBCドライバーにチェックを入れて、[Install]を押します。
※今回は、SQL Serverに接続するので、一番上にチェックを入れて実行しました。
![01_iinstall.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/cea66924-6302-fc7e-ddd2-36dbbaa1a3ba.png)

インストールが終わると完了っぽい画面が出ます。
![01_iinstall3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/9485c516-1ce5-fd5d-87a9-bdf87f16c6f7.png)

後でわかることですが、ツールのデフォルト言語は英語になっています。
英語が苦手な方は、自分のシステムの言語に変更することができるので、インストーラーの左の[Language]をクリックして、[Use system language:jp-JP(if availabel)]をクリックして、システムの言語に変更しましょう。
![01_iinstall4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/85a3bc8a-2db6-5eb0-0fb0-01935d87434e.png)

## 3.メニューからアプリを起動
起動すると、このような画面が出ます。
![02_kidougo2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/2af7c660-6f20-ff94-4321-3cff60e55cd8.png)

ちなみに英語版だとこんな感じです。
![02_kidougo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/d6ac6823-526c-149c-0f37-9e9dd773b7b7.png)

## 4.ネットワークの設定
インストールされたPCからクラウドサービスであるDomoにデータをアップロードできるかテストします。
左の[...]のアイコンを押します。

社内ネットワークから外部にアクセスする際、プロキシ(Proxy)を経由する環境もありますが、その場合でも設定することもができます。
設定が終われば、[接続をテスト]を押します。
![03_settei.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/c7863880-178b-e49f-1417-8b053bf9d913.png)

接続できる状態であれば、[成功]と出ます。
![03_settei2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/cd14f375-d9f6-b35d-9248-2fcbc460086a.png)

## 4.Domo環境の設定
契約をしているDomo環境に接続するための設定を行います。
左の[キー]のアイコンを押します。
![04_domoto.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/befd562f-b761-a9a9-f784-6c47c27b5316.png)

アカウントと書いている右の[+]を押すと下記の画面が表示されます。
Domoドメインの所に、契約しているDomoの情報を入力して、[認証する]を押してください。
![04_domoto2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/4c9e639f-2108-2be0-241b-adb86996bb89.png)

成功したら、認証リンクと認証コードが表示されます。
[認証リンク]をクリックすると、ブラウザが立ち上がります。
![04_domoto3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/ed359e13-9b3f-58da-78f7-784f8166fe49.png)

起動されたページの[verificatiob Code]を入力するところに、Domoアプリに表示されている[認証コード]を入力して、[SUBMIT]を押します。
![04_domoto4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/ee993c2c-41a5-adb0-973e-604ba63508b8.png)

認証が終われば、このような画面になります。
※この後はブラウザを閉じてもらっても大丈夫です。
![04_domoto5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/08c52a7b-b0ed-7ff0-1e0c-54f283ecb801.png)

認証が終わると下記のような画面に代わります。
![04_domoto6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/e482fd6c-fc4b-c406-fb54-9890b0c5d101.png)

時間がたつと、アカウントの下に契約しているDomo環境の名前が出ます。
おそらく複数環境にも対応しているんだと思いますが、ここでは行いません。
![04_domoto7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/4e68df00-a181-6f16-cc34-931fee8a53dd.png)

## 5.ジョブの設定(データの取り込み＆Domoへの送付)
左の[DB]のアイコンをクリックします。
左上の[+]ボタンを押して、設定を続けます。
![05_data.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/65d699aa-cd92-7615-1fc5-ed2fcc0abce7.png)

ジョブという単位で、社内のデータベースへの接続情報を設定します。
この単位で、Domo環境には、DataSetができます。
![05_data2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/5a3f6003-59ad-c440-50ec-03f6bc44710c.png)

今回は、SQL Serverに接続するための設定をしました。
※ジョブ名は、仮に「経理データ」として、Domo上のDataSetも同じ名前にしています。
![05_data3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/019db8e7-991f-cc84-4b09-070745b2383a.png)

設定が終わると、[経理データ]というジョブの設定を行います。
[データ]ラベル内の[ソース]ラベルの下の[編集]を押して、接続するDBの設定を行います。
![05_data4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/e3793e8e-d8a2-4f24-d61b-91de407e2009.png)

こんな感じで、接続するサーバ、データベース名、接続ユーザ、パスワードを入力して、右下の[適用する]を押します。
![06_db.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/a7c19acf-a6c6-45ab-c301-0bd6edd1be08.png)

[データ]ラベル内の[処理]ラベルの下の[編集]を押して、実際のSQLを設定します。
![06_db2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/7defc0c1-d0d6-8035-677a-77a260e48919.png)

ちなみに、ジョブは何個でも作成することができます。
フォルダ内のファイルと取り込むなどの設定もできるので、いろいろ試してみてください。

## 5.データ取り込み実行
ここまでできたら、実行します。
左上の[▶]を押すと、SQLが実行され、Domo環境のDataSetにデータが格納されます。
[更新方法]を[置き換え]にしているので、データを全件置き換えます。
[追加]にすると、実行毎に、履歴としてデータを格納していきます。
スケジュールタブで、毎日夜中に実行するとか、設定が可能です。
通知は、このジョブが成功したとき、失敗したときに、メールをするという機能も備わっているので、運用に合わせて、利用したらよいと思います。
![05_data4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798145/f58d33fc-1e1a-1655-4874-eaa3e3eb5bd2.png)

# まとめ
最後駆け足になりましたが、何かのお役に立てれば幸いです。