LoginSignup
1
1

More than 1 year has passed since last update.

【一般】東京都オープンデータソースAPIを活用してみる(レポート編)

Posted at

東京都オープンデータソースAPIを活用してみると題し、数回に分けてオープンデータをローカルデータベースに保存するところまでを記事にしてきました。
今回は、おまけとしてデータベースに貯まったデータを元にレポートを作成するところを記事にしてみようと思います。

Webレポート

早速Sharperlightアプリケーションメニューからパブリッシャーを起動します。
新規ボタンで新しいレポートの作成を開始します。

一般タブ

ここでは、コード、グループ、タイトル、レポートのタイトル等を記入します。
image.png

クエリを編集

パブリッシャーで作成するWebレポート(公開クエリともいう)には、1レポート1クエリという原則があり、必ずクエリを作成しなくてはいけません。よってクエリを編集ボタンでクエリビルダを起動しクエリのデザインを行います。

フィルター

製品フィルターには、このシリーズで作成したデータモデルを指定します。そしてテーブルには、取得したデータが保存されているテーブルをこのように指定します。
image.png

選択領域

テーブルが指定されるとSharperlightエンジンは、そのテーブルに付随するフィールド一覧を指定されているデータモデルから、選択領域に展開表示します。
image.png

出力領域

ここにはどのフィールドのデータをクエリ結果として抽出するかを指定します。
今回は、棒グラフ用のデータを準備しようと考えているので、ラベルになるようなフィールドとそれに関する集計値を準備します。
年代別に患者数を集計してみましょうか。
選択領域からドラッグ&ドロップ、あるいはダブルクリックで年代フィールドを出力領域に設定します。
次に年代別患者数は、Row_IDフィールドをカウントするといったイメージで定義します。
Row_IDフィールドを出力領域に設定して、右クリックメニューから説明の変更を選び、患者数とタイプします。
image.png
ダブルクリックでオプションダイアログを開きます。関数タブの集計属性でカウントを指定します。
image.png
ここで一度クエリ結果を確認してみます。プレビューボタンで行います。
集計は上手く出来ているようですが、年代フィールドの値が文字列なので並び替えが少し変ですね。
image.png
並び替えが行えるように拡張表現を利用して数値に変換します。
出力領域の右クリックメニューから拡張表現を追加を選択します。
データ型Integerに設定。以下の構文を拡張式関数の構文に記述します。

Switch( {%年代}
,"10歳未満",9
,"10代",10
,"20代",20
,"30代",30
,"40代",40
,"50代",50
,"60代",60
,"70代",70
,"80代",80
,"90代",90
,"100歳以上", 100
,999)

image.png
一般タブに移動して、出力参照名説明Sortingとします。また視認性オプションを非表示とします。これはこの拡張表現フィールドが、並び替えを行うためだけに作成されたので、その値を表示する必要がないためです。
image.png
最後に並び替えとグループ化タブに移動して、当拡張表現フィールドを並び替えあり領域に設定します。OKボタンで確定します。
image.png
最終的に出力領域の設定はこのようになります。
image.png
ではプレビューしてみましょう。
どうですか?並び替えが正しく行えていますね。
image.png
OKボタンでクエリを保存します。

グラフタブ

グラフタブでは4箇所のみを設定し、その他の属性は既定値のままとします。
image.png

オプションタブ

オプションタブでは既定の出力形式Chartに設定します。
image.png
このレポートにこのようなURLでアクセスした場合、テーブルではなくグラフが表示されるようになります。

http://{サーバー名}/mdService1Rest/Report/?query=QiitaSample.TKYCov19Age

既定の出力形式Tableに設定した状態でグラフとして表示したい場合は、このURLを使用することができます。URLの最語尾に&rtype=chartを付与します。

http://{サーバー名}/mdService1Rest/Report/?query=QiitaSample.TKYCov19Age&rtype=chart

検証

http://{サーバー名}/mdService1Rest/Report/?query=QiitaSample.TKYCov19Ageをブラウザからアクセスしてみます。もちろんSharperlightサービスが起動されている必要があります。
image.png
更にいくつかレポートを作成して、配置オプションを使用してこのようなレポートが作成できました。あくまでもサンプルです。
image.png
image.png

Exceレポート

次に、Sharperlight Excelアドインを使用してExcelでレポートを作成します。
Excelを起動します。SharperlightがインストールされるとExcelアドインも設定されています。
されていない場合は、SharperlightアプリケーションメニューからExcelアドインをインストールを実行します。
image.png
新しいワークシートを開きます。Sharperlightリボンを確認します。
image.png
先ほどのWebレポート用に作成してクエリを再利用します。
セルB5を選択し、リボン上のテーブルアイコンをクリックします。お馴染みのクエリビルダが起動します。
フィルター領域の右クリックメニューよりクエリのインポート -> パブリッシャーを選択します。
image.png
パブリッシャーで作成されたWebレポートの一覧が索引ダイアログに表示されます。テキストボックスに検索ワードQiitaSample%(レポートのユニークコードが"QiitaSample"で始まるレポートを検索します)を入力し、更新ボタンを押します。
レポートが絞り込まれるので、目的のレポートを探し出してダブルクリックで選択します。
image.png
選択したレポートに定義されているクエリが作業中のクエリビルダに転送されます。
image.png
OKボタンでクエリを確定、実行します。クエリ名の入力を促されるので、クエリ名を入力しOKボタンで先に進みます。
image.png
Excelワークシート上にテーブルが表示されます。最初に選択したセルB5Sharperlightテーブル式が作成されます。
image.png
同じようにしていくつかテーブルを作成してみます。後はExcelのチャート機能を利用してチャートを作成したりします。
image.png

では、失礼します。

1
1
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
1
1