2019年12月8日日曜日

Watson StudioのBI機能:Cognos Dashboard Embededを使ってみた。

「Watson Studio上」(※1)には、BIソリューション「Cognos」のダッシュボード機能である「Cognos Dashboard Embeded(CDE)」が無料(※2)で入っています。
※1:IBM Cloud上で利用可能な、AI統合開発/分析環境です。
※2:正確に言うと、「Liteプラン内での無料利用枠がありますよ」ですが、この枠が結構あります。

一般的なWatson APIや製品群と比べ、「Watson Studio」は、データ分析者向けサービスという性格が強いため、あまり知られていないかもしれません。
ただ、実際に使ってみると、「Cognos」や「SPSS Modeler」などの最新テクノロジーが、部分的ではありますが、信じられないくらい安く・簡単に利用出来ちゃいます。
そのため、最近では、このプラットフォームを、コスト制約が大きいPOC(実証実験)プロジェクトで利用することも多いようです。

「サクッと可視化+チャラっとドリルダウン+パスっと共有」をクラウドでライトに仕立てる手段として、この「CDE」、面白いと思ってます。

とりあえず、今回は、Web上に公開されているハンズオンシナリオに沿って、ダッシュボードを作ってみます(※3)。
※3:内容的には全く同じですが、ハンズオンが英語なのと、やや手順を端折っているので、日本語で細かく書いてみました。

こんな感じのやつ、作ります。


「CDE」をセッティングしておく


1.「IBM Cloud」にログインする。
https://www.ibm.com/jp-ja/cloud で利用登録した上でログインしてください。
先にこの処理をしておかないと、ダッシュボード作成ができません。
無料枠がたっぷりありますし、枠を使い切っても勝手に課金されないのでご安心ください。

画面上段にある「カタログ」を選択してください。



2.「CDE」を検索する。
画面上段にある検索ボックスに「Cognos」と入力してください。
「CDE」のみが表示されるので、



3.「CDE」を作成する。
右側にある「作成」を押すだけです。
なお、Liteプランの課金情報も載っていますが、プラン変更しなければ課金されずに使用停止になるだけですのでご安心ください。


一昔前は、こういうプロビジョニング作業だけでも多大なコストと、作業期間を費やしてたと思うと、Cloudって便利だなぁと。。

「BIって、こんなに簡単だったの?」な手順


1.プロジェクトを作成する。
「IBM Cloud」から「Watson Studio」をセッティングする方法は、いくつも紹介サイトがあるのでそちらをご覧ください。

「Watson Studio」を起動したら、「Creat a project」を押してください。



2.「Creat an empty project」を選択する。
とりあえず、まっさらなダッシュボードから作成したいので、上段を選んでください。



3.プロジェクト詳細を入力する。
「Name」は、このプロジェクトを判別するための名称なので必須で入力してください。
「Description」は、より詳細な説明コメントなので任意入力です。



4.ローデータをアップロードする。
プロジェクト管理画面の「Data Assets」パートからローデータをアップロードしてください。画面右側の「browse」を選択し、ファイルをアップロードすると、左側のペインにアップしたファイルが表示されます。
※ローデータは、こちらのチュートリアルサイトからダウンロードしてください。



5.プロジェクトに追加する。
右上にある「Add project」を押してください。ちょっと混乱するかもしれませんが、「新規に別のプロジェクトを追加する」という意味ではなく、「プロジェクトに何かを追加する」とお考えください。




6.ダッシュボードを追加する。
プロジェクトに追加可能な機能がカルタ的に表示されるので、「Dashboard」を選んでください。



「Name」は、判別しやすいようなダッシュボードの名称を入力してください。
「Description」は、何でもOKです。
「Associate Cognos Embedded service instance with your project」をクリックし、プロジェクトにこのダッシュボードを紐づけてください。




プルダウンから選択するだけで終わります。
この時に「Reload」ボタンが表示されるので、忘れずに押してください。

7.ダッシュボードのタイプを選択する。
ダッシュボードには、「Single page」「Tabbed」「Infographic」タイプがあります。
一瞬、どれを選択すべきか迷いそうですが、中に組み込むグラフやオブジェクトのサイズはマニュアルで変えられるので、あまり気にしなくていいと思います。

<Single page>

<Tabbed> 

<Infographic>

今回は、「Infographic」を選択します。



8.データソースを選択する。
データソースを選ぶため、画面左上の「Selected sources」を選択してください。


先ほどアップロードしたデータを選びます。


9.ダッシュボードに掲載するデータを選択する。
表示されたデータを選択すると、各フィールド名が表示されます。


UIは、直感的で、初回利用でも迷うことなく使えると思います。
この辺り、「Cognos、さすがだなぁ」な感じです。とりあえず、「job」と「balance」を選んで、右側のペインにドラッグ&ドロップしてください。


10.設定をカスタマイズする。
右側ペイン上に生成されたグラフをクリックすると、グラフ左上にアイコンが表示されるので、一番下のアイコンを選択してください。


様々なグラフ形式が提示されます。縦棒グラフを選択してください。


11.その他カスタマイズを行う。
「CDE」では、設定したグラフやオブジェクトに対し、様々なカスタマイズが可能です。
下記のように、「Summarize」を選んでください。


「job」別に「balance」の平均値でグラフ化します。



色使いも変更可能です。こんなサイケにする必要はないと思いますが・・・。



降順ソートも可能です。


PowerPointに画像を貼り付ける要領で、オブジェクトの四隅をドラッグし、ダッシュボードの枠にはめます。


12.テキストオブジェクトを入れる。
同様にパワポ感覚でテキストオブジェクトも挿入可能です。




フォントサイズや背景色の変更も可能です。



13.ダッシュボードを共有する。
引き続き、好きなデータをダッシュボードに配置し、それっぽい感じなったら、画面上段のツールバーから「Save」を選択してください。


同様に、ツールバーから「Share」を選択してください。


「Share with anyone has the link.」をオンにし、共有URLをコピーしてください。
別途、このURLを共有したいメンバーにメールしてください。


メールを受信した共有対象者は、特に「Watson Studio」の登録や設定をせずとも、ダッシュボードの閲覧やドリルダウンでの表示が可能です。
例えば、グラフ下部にある「未既婚」から特定の項目を選択すると、自動的に上段の「job x balance」のデータが切り替わります。

今までクロス集計ベースで見ていたデータ(ex.未既婚別の保有資産額など)を、各人が見たい視点でクイックに確認できるのが便利ですねぇ。


アンケートデータに限らず、「業務プロセス上で生成される業務データをとりあえず可視化したい」とか、「もう少し、プロジェクト関与者の視点でグリグリ見たい」といったユースケースでは使えると思います。

無料枠でかなり使えますので、ご興味ありましたらご利用されてはいかがでしょうか?

Watson Studio関連エントリー


自動でAIモデルが出来ちゃう〜Watson Studio AutoAI Experiment

SPSS Modeler flowのモデルをWebサービスとしてデプロイする

(無料)Watson StudioでSPSS Modeler flowの決定木を動かす

Watson Studioの「Data Refinery」機能で「馬の疝痛(せんつう)」データを眺めてみた。

2019年10月27日日曜日

「コンテナ」ってなに?(1)〜仮想化が必要になった経緯

最近、益々「コンテナ」が熱いですよね。
「コンテナ」を一言で言うと、「仮想化技術」です。今、アツいみたいです。

「Kubernetes」「OpenShift」など、
「なんだかよくわからないけど、システム担当もLOBも「コンテナ」関係は、知っといたほうがいいんだろうな・・・」なムードですが、まぁ、ややこしいですよね(苦笑)

私自身も、コンテナ猛烈勉強中でして、今後、当ブログで色々とご紹介できればと思っています。

そもそも、どうして「仮想化」が必要になったの?


通常は、1台の物理マシン(PC/AT互換機:パソコン、IA/x86サーバー)上で、それ専用のOSと対応するアプリケーションを動かしますよね。

例えば、昔々、広告代理店さんやデザイン会社さんは、まだマックOSでしか動かないデザイン系アプリが多かったので、Macマシンがメインマシンでした。
でも、マックOSは、オフィスなどのビジネス系アプリが不十分だったので、他の方のWindowsマシンを借りたり、会社さんによっては、Win/Macマシンを別々に購入して、ハードもソフト(アプリ)も二重投資になってたりしましたよね。
もちろん、IA/x86サーバーの世界でも同じようなことがあったと思われます。


それじゃ無駄が多いので、「ハイパーバイザ (hypervisor) 」と言う、仮想機械(バーチャルマシン)」を1台の物理マシンの中で作れる制御プログラムの導入が流行りだしました。別名、「仮想化モニタ」「仮想化OS」※とも言います。
※この辺りから似たような言葉が頻出して、お勉強しているとイライラします(笑)


「仮想機械(ハイパーバイザ)」には2種類ある!?


この「仮想機械(バーチャルマシン)」には、2種類あります。

1.「ネイティブ」または「ベアメタル」ハイパーバイザ
パイパーバイザがハードウェア上で直接動作し、全てのOS(「ゲストOS」と言います)は、そのハイパーバイザ上で動作します。
ソフトウェア製品としては、「Xen」とかMSの「Hyper-V」などがあります。
システム屋さんとの会話で「それってベアメタルだよね?」的なフレーズが飛び出してドキっとしちゃいます。

2.「ホスト」ハイパーバイザ
具体的な機能の話をすると難しくなるので、まずは、下記ユースケースをイメージしてください。
本来は、「ネイティブ」ハイパーバイザを例にした方がいいと思いますが、私のように、システム運用未経験者の場合、パーソナルユースが多い「ホスト」パイパーバイザを例にした方がわかりやすいかなと思いまして。

前提:
・WindowsユーザーでPC/AT互換機を使っているが、業務上、どうしてもMacOSのアプリを使いたい。
・会社からは「予算無いので、2台もPCは買ってあげない。でも、MacOSとアプリはあるよ」と言われている。

ユースケース:
(1)ハードウェア上で別のOS(ハイパーバイザではない、普通のOS。Windows/Mac/Linuxなど:「ホストOS」と言います)が稼働しています。例えば、普段、自分が使っている端末やサーバーがWindowsであるケースをイメージしてください。
(2)「ホストOS」として位置付けられるそのWindowsの中に、「仮想機械(バーチャルマシン)」を作るためのアプリケーションをインストールします。
例えば、オラクルの「VirtualBox」やMSの「Virtual PC」などの名称を聞かれた方もいる方と思います。
(3)(2)の「仮想機械(バーチャルマシン)」の中にMacOS(「ゲストOS」と言います)をインストールする。
(4)(3)にMacでしか動かないアプリをインストールする。

これで、PC1台だけで2つのOSを動かすことが可能になりました。
ハードウェアやネットワーク回線、オフィススペースも節約出来てお得ですね!
(サーバーの場合、ラックスペースの節約にもなりますよね)


実際、自分も「メインマシン=MacOS、業務で使いたい分析アプリ=Linux」と言うケースがあり、「ホスト」ハイパーバイザをMacOSにインストールしたことがあります。
普段からMac端末は持ち歩くワークスタイルなので、2台目としてのLinux用マシンを持ち歩く負担も減ってハッピーでした。

ただ、良いことばかりではありません。
「一台のPCで、Windows上にMacOS載っける」わけですから、当然、重くなります。また、クラッシュした場合、「どこが悪かったの?ホストOS?ゲストOS?ゲストOSの中のアプリ?」といった感じで原因究明も複雑になります。

「ネイティブ」ハイパーバイザだとメリットたくさん?


「ネイティブ」ハイパーバイザの場合は、上記の例で「ホストOS」として「メインマシンにインストールされたMacOS」が「ハイパーバイザ」に置き換わり、「ホストOS」が無くなります。そのため、ハードウェアを直接操作可能となり、仮想マシンの速度低下を最小化できます。加えて、シンプルな階層になるので原因究明も楽になります。

「ホスト」ハイパーバイザと比べるとメリットばかりに思えますが、結局、「ネイティブ」ハイパーバイザ実現のためのソフトウェアが必要になりますし、速度低下やセキュリティ対応などの課題が残りました。

そんなこんなで、登場したのが、真打ち「コンテナ」様です。
詳細は、次回エントリーで記載させていただきます。


小ネタ:仮想機械(ハイパーバイザ)の区分けって曖昧。


どうやら、上記でご紹介した「仮想機械(ハイパーバイザ)」の区分けって曖昧なところもあるようです。「狭義には、「ホスト」ハイパーバイザ」は、仮想機械では無い」とも言われているようです。

確かに、この曖昧さを知らずに、社内外の仮想化に関するWeb動画などを見ていた際、「仮想化のこと?それ以外のこと言ってる?」なことが何度かありました。ガチのシステム屋さんには常識かもしれませんが、「仮想化」領域は学習コストがかかります。自分も丁寧に段階を踏んで説明できるようにならねばと思っています。

あと、最後に宣伝です。
そんな「コンテナ」様を活用した弊社のイケてるソリューションがあります!
・・・ただ、いきなりコレをご覧になっても「???」な感じだと思いますので、まずは名前だけ覚えて頂けると幸いです。
他の「Cloud Pak」シリーズ含め、いずれ、当ブログでご説明できればと。

IBM Cloud Pak for Data
https://www.ibm.com/jp-ja/products/cloud-pak-for-data


「コンテナ」関連エントリー



「コンテナ」ってなに?(2)〜コンテナの技術的特長をザックリと。
https://sapporomkt.blogspot.com/2020/04/2.html

「コンテナ」ってなに?(3)〜「Kubernetes」の技術的特長をザックリと。
https://sapporomkt.blogspot.com/2020/05/3kubernetes.html

2019年8月25日日曜日

道管理空港の空港別営業損益をグラフ化してみた

北海道庁の「空港運営戦略室」ページに、道管理空港(※)別の営業損益を試算したデータがありました。ちょっと面白かったので、備忘録代わりに軽くメモしてみました。

※文字通り、「北海道が管理する空港」であり、空港法上は、「地方管理空港」に分類されます。先日発表された「北海道空港株式会社」を中心としたコンソーシアムによる「道内7空港一括民営化(コンセッション)」の対象空港にも、今回の試算対象である「女満別空港」が含まれています。

道管理空港の空港別収支の試算結果(2019年3月05日(火))

当資料内にある「営業損益」の数値データをグラフ化してみたのですが、改めて見ると結構インパクトがありますね。特に、我が実家の北見市の最寄り空港:女満別空港の収支が厳しいのですね。


ちなみに、上下一体(上記グラフのC)の経年トレンドを見ると、年々厳しくなっているようです。


一般的に、コンセッションの一つの狙いは、「下部(空港インフラ:滑走路や航空管理塔など)の管理」と「上部(運行・運営:空港内レストランやテナントなど)」の上下一体運営を進めることで、上部の利益を下部に充てることと言われています。ただ、地方の乗降者数が少ない空港は、上記数値でわかるように単体で下部を押し上げるのは厳しいため、今回の道内空港コンセッションにおいても、他の主要空港との連携(マルチゲートウェイ戦略の推進など)が重要になるのでしょうね。

<北海道内7空港における進捗状況:国土交通省>
北海道内7空港の優先交渉権者による提案概要



これからもいろいろ勉強してみようかと思います。

ご参考:その他エアライン関連エントリー


値上げされる新千歳空港の「旅客取扱施設利用料(PSFC)」を比べてみると・・・
https://sapporomkt.blogspot.com/2019/08/psfc.html

2019年8月18日日曜日

RESASのローデータをJupyterNotebookで取り込む

Pythonは初学者なので生暖かくご覧くださいw。

RESAS(地域経済分析システム)は、GUIが洗練して使いやすいですが、実は、いくつかの画面では、ローデータを丸ごとダウンロード可能です。

今回は、「RESAS-観光マップ」の「客室稼働率の推移」ローデータをダウンロードし、ローカル端末にインストールしたJupyterNotebookに取り込んで見ます。
JupyterNotebookのインストール手順は、下記エントリーをご覧ください。

macOS MojaveへのAnacondaインストール
https://sapporomkt.blogspot.com/2019/06/macos-majaveanaconda.html

condaコマンドによるAnacondaの仮想環境作成
https://sapporomkt.blogspot.com/2019/06/condaanaconda.html

実施環境は、以下の通りです。
・MacBook Air:CPU:1.6GHz,Memory 8GB
・macOS Mojave ver10.14.5

※本エントリーは、私、小田一弥が一個人として勉強を兼ねて記載したものです。私の勤務先である日本アイ・ビー・エム株式会社の見解・見識ではない、個人としての記載内容としてご覧ください。


JupyterNotebookへのRESASローデータ取り込み手順


以降は、ローカル端末でのJupyterNotebook起動が可能な状態を前提に記載します。
もし、セッティングが難しい場合は、当ブログで何度かご紹介している「Watson Studio」などのクラウド環境でJupyterNotebookを使うアプローチもアリかと思います。

(ご参考)IBM Watson Studio
https://www.ibm.com/watson/jp-ja/developercloud/watson-studio.html


1.RESASページからローデータをダウンロードする。
[メインメニュー]→[観光マップ]→[国内]→[宿泊施設]→[グラフを表示]と進むと、集計画面が表示されます。「宿泊施設」でいくつの選択項目があるのでお好きな項目を選んでOKですが、どの集計画面でも右側に「データをダウンロード」が表示されるので、このボタンを押してローデータをダウンロードしてください。



2.JupyterNotebookにアップする。
ローデータはZip形式になっているので、JupyterNotebookで記述したipyndファイルを置く予定のフォルダと同じフォルダに解凍したローデータをアップ(※)してください。
※「アップ」とは書いていますが、今回のJupyterNotebookはローカル端末のlocalhostで動かしているので、「Cloud上にアップする」ようなイメージではありません。

右上部分にある「Upload」ボタンからファイル指定が可能です。




3.下記コードを実行する。

今回は、「北海道」の宿泊施設データだけを抽出します。
わずか数行のコードなので、特に解説は不要かと思いますが、「os.getcwd()」関数で、これから実行するipyndファイルを置いてある相対フォルダパスを取得し、「os.path.join()」関数でローデータファイル名と繋げています。

import pandas as pd
import os

# ローカルのJupyter Notebookで作業している相対パスの確認
base_url = os.getcwd()
print(base_url)
df_csv = os.path.join(base_url,'観光マップ_宿泊施設.csv')

# csvの読み込み
df = pd.read_csv(df_csv,encoding = "shift-jis")
df_hokkaido = df[df['都道府県名'] == '北海道']
df_hokkaido.head(10)

以下のように表示されれば成功です。
次回は、このデータを使って集計や可視化に取り組んでみます。

2019年8月14日水曜日

3分で完了!RESAS(地域経済分析システム)のAPI登録。

地方創生プランニングの中核システムでもある「地域経済分析システム(RESAS)」。
GUIが非常に充実しているので、このまま使っても十分便利なのですが、もう少しグリグリ分析がしたい場合は、「RESAS API」の登録がオススメです。

「API」と聞くと、「なんだか難しい世界だなぁ」とお感じになるかもしれませんが、登録自体は3分あれば簡単に終わります。

1.RESASのAPI申請ページにアクセスする
RESASトップページを下部にスクロールすると、API申請の入口が見えます。



2.必要情報を入力する。
「RESAS-API利用登録」画面に必要情報を入力してください。
必須項目が少なめなので、簡単に終わると思います。



3.仮登録URLをクリックすると、登録完了!
先ほど登録したメールアドレスにRESAS APIの仮登録URLが送信されるのでクリックしてください。


API管理用のマイページが表示され、API登録が完了します。
次回は、このAPIで色々試してみようかと思います。