LoginSignup
0
0

More than 1 year has passed since last update.

【一般】東京都オープンデータソースAPIを活用してみる(基礎準備編)

Posted at

Sharperlightを使用してデータの統合や分析を行う手法をこれまで色々と見てきました。しかしながら、Sharperlightもクエリをかけるデータがそこにあって初めて生き生きと活躍を始めるわけであり、今回はそのデータを収集および蓄積し、そうして集まったデータに対してクエリをかけてレポートを作成する一連の作業内容を記事にしてみようかなって思っています。
で、な~んか良いデータがないかな~って探してたら、オープンデータというものに出会いました。日本を20数年間も離れてたのでオープンデータというものに国家単位で取り組んでいるなんて知りませんでした。調べてみるといろいろあるではないですか。
ここ直近の記事では、札幌市や京都市のオープンデータをCSVやXLSの形でダウンロードさせていただき、Sharperlightを使用してGoogle Mapに位置情報等を表示するようなものを紹介してきましたが、その方法だとデータファイルをダウンロードしてという手作業が発生します。
そこで、APIで随時提供されるようなデータはないかな~って探してました。するとヒットしました。東京都がいくつかのデータセットをAPIで提供してくれていました。今回はそれを利用させていただきます。
image.png
早速、Postmanを利用してどのようなデータセットが返ってくるのか検証してみます。
APIエンドポイント一覧の一番上のエンドポイントを使ってみます。こういったJSONデータが返ってくるんですね。
いいね!:thumbsup_tone1:
image.png
よし!、じゃ処理の流れとしては、Sharperlightスケジューラでこのエンドポイントからデータを、一日一回でいいかな?って感じで取得して、データベースに蓄積します。データベースにデータが蓄積されさえすればSharperlightの本領発揮です。なんでもできる!!
というわけでSharperlightファウンドリを使用してデータベースおよびデータモデルの設計を一気にやっつけてしまいます。

Sharperlightファウンドリ

SharperlightアプリケーションメニューからSharperlightファウンドリを起動します。
image.png

製品 タブ

起動したら製品コード説明著者データベース(データベース名)等を記述します。
image.png

テーブル タブ

ここではテーブルの設計を行います。
先ほどのエンドポイントではこのようなJSONデータが返ってくるので、それを元にテーブルの設計を行います。
image.png
新規アイコンをクリックしてテーブル定義の作成を開始します。クエリを基に...というメッセージが表示されますが、ここではNoで先に進みます。
image.png
テーブル名には使用するAPIエンドポイントの名称を使いましょうか。
image.png
テーブルのテンプレートが作成されます。属性の編集を行いましょう。
分類: 大きく分けてDimensionFactがあります。Dimensionは顧客名や分類コード等の参照データが入るテーブル、Factは実際の取引データ等が入るテーブルです。ここで使用するデータの場合は、Factテーブルはいいでしょうね。その他の属性はこのような感じでいいでしょう。
image.png

フィールド タブ

ここでは、作成したテーブルのフィールドを設計していきます。
image.png
最低でもこれだけのフィールドを準備する必要がありますね。
image.png
新規アイコンでフィールドテンプレートを追加します。最初のフィールド名はNoとしましょうか。
image.png
データ型データ長の既定値が表示されるので、実際のデータに合うように編集を行います。Noフィールドに関してはこのような感じでいいでしょう。その他の属性は初期値のままで。
image.png
同じように残りのフィールドも作成していきます。
image.png

値 タブ

ここでは、性別フィールドがフィルターとして使用される場合、索引リストに表示されるリストを定義します。
image.png

保存

これまでの作業を失わないように先ず定義を保存しましょう。保存ボタンで行います。
image.png
.fdy拡張子のついたファイルが作成されます。
image.png

検証

検証ボタンで行います。特に異常はなさそうですね。
image.png

実行

では実行ボタンをクリックして、Sharperlightオブジェクトを生成してみます。
このようなメッセージが表示されるので、Yesで先に進みます。
image.png
生成プロセスが行われ、最終的にはこのような結果となります。データベース、データモデルやレポートパックが作成されているはずです。生成されたファイルを拝見したい場合は、Yesをクリックします。
image.png
指定したフォルダにこのようなファイルが生成されました。
image.png
データモデルはここに作成されています。
image.png
データベースは?というと...ここに出来ています。なぜここにっていう疑問がありますよね。それは、ファウンドリを起動したSharperlightインスタンス(今回は本体)のシステムデータベースが存在するSQLデータベースサーバー内に作成されるっていうことです。
image.png
ここで指定しているデータベースサーバーです。
image.png
新しく作成されたデータモデルのデータベースへの接続情報も正確に設定されていることがここでも分かりますね。
image.png
またデータベース内には、テーブルやフィールドも設計したように作成されていますね。
image.png
このようなデータベースやデータモデル等を一つ一つ手作業で作っていくこともできますが、ファウンドリを使用することで効率よく早く作成することができますね。まあ、完璧にできているかどうかは実際使っていかないと分からないので、あくまでも基礎作りの手間を簡素化できるといったところですかね。今後どのような修正/変更が発生するかは次回以降の記事で記していきます。
今回は、Sharperlightファウンドリを使用して、スピーディにデータベースやデータモデルの作成を行うところまでとします。
次回はSharperlightスケジューラのタスクについて記します。JavaScriptコードを少し書いて、APIエンドポイントからデータを取得しデータベースに保存するところまでですね。
では、失礼します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0