仕事メモとか

仕事中に調べた情報とか知ったことをメモしています。
unixコマンド, vim, oracle, putty, postgresql, bash, EXCEL, python, SQL全般 など。
最近は tableau, movabletype とかも触ったりしています。
雑な読書感想とかはこちら

カテゴリ: tableau


tableauでちょっとはまった話:地図データ連携編

いまだ解決していない、というか解決しないのかもしれない案件。
不具合なのか、利用方法ミスなのか判断付かないのですが、
似たような状況になった人の情報の補足になれば。

●現象
tableauで地図データを表示するため、緯度経度を連携したが正しく緯度経度が取れなかった。

「tableauで地図にデータを突っ込んでみる」
http://workmemo.techblog.jp/archives/33016974.html

こちらの記事で出来たことを、web版でやってみようとしたら上手くいかなかった。
連携情報は「都道府県名」の文字情報を「地理的役割」に連携する手法。


●問題の切り分け

1.全く同じ手順をdesktop版でやってみたら連携出来た。
2.データに接続する方法が正確にはちょっと違う
 →desktop版=データソースでoracleのテーブルに直接アクセス
 →web版=SQLで作ったデータソースにアクセス
3.desktop版で作ったワークシートの情報を利用する分には、web版で弄っても緯度経度が出てくる


とりあえず現状としては回避方法があるので一旦放置。
但し、全部web版で出来たほうが楽なので、原因が分かったらまた書きます。


tableau で計算式でよく使うものメモ

●count時にユニーク化
oracle:count(distinct xxx)

tableau:countd(xxx)

●文字列の一部切り出し(例:頭1文字)
oracle:substr(xxx,1,1)

tableau:left([xxx],1)

●ディメンジョンとかでif文を使いたい
例:xxx1~xxx5までをみて、頭1文字がAだったらA群、そうじゃなかったらnotA群に振り分けたディメンジョンを作成
tableau:
if left([xxx1],1) = 'A'
or left([xxx2],1) = 'A'
or left([xxx3],1) = 'A'
or left([xxx4],1) = 'A'
or left([xxx5],1) = 'A'
then 'A' else 'not A'
END

●割り算で小数点を切り捨てる(例10の位で切りそろえる)
oracle:select trunc(xxx / 10) * 10 from dual

div(xxx,10)*10

参考:
https://onlinehelp.tableau.com/current/pro/desktop/ja-jp/functions_functions_logical.html
https://onlinehelp.tableau.com/current/pro/desktop/ja-jp/functions_functions_number.html


tableauで地図にデータを突っ込んでみる

サンプルを見ていたら地図にデータを簡単に入れている、ということで、ちょっとやってみました。

・考え方
都道府県+郵便番号+実績みたいなデータがあると仮定。

・地図への連動方法
まず、住所情報に対し「これは住所情報である」という紐づけを行います。
都道府県情報でやってみます。

1.「都道府県名」-「地理的役割」で「都道府県/州」を選択
2.経度、緯度が生成されるので、列と行に突っ込みます(都道府県名をダブルクリックすると、勝手にやってくれます)
3.マークの「色」に実績をドラッグ

これだけで都道府県別に実績量で色分けした画像が出来上がります。

細かくデータを出したい場合、上記の「都道府県」の部分を「郵便番号」に変更してやってみると、非常に細かくなります。


参考:
https://onlinehelp.tableau.com/current/pro/desktop/ja-jp/buildexamples_maps.html


tableauを使ってみよう(導入編)

データ分析に色々使えるらし、tableau(タブロー)を使ってみようと思います。
ということで、とりあえず雑な導入編。

公式サイト:
https://www.tableau.com/ja-jp

ここの「無料トライアル」を押すと、トライアル版をダウンロードできます。
こちらは14日間使える形のようです。

tableauは単体で完結するDesktopと、サーバー側で色々出来るServer版やセットアップもいらないonline版などありますが、
とりあえず何が出来るのかを調べるのにはDesktopを入れる必要があります。

ということで、Windows版を入れてみました(ここは割愛)

ダウンロードしたトライアル版を入れてみた後、幾つかの情報を入れるとそのまま使用できるようになります。

その後、入れたtableauから情報にアクセスする方法を設定するのですが、
csvでデータを入れる方法もあるのですが、oracleに直接つなぐ方法でやってみます。

ドライバ置き場
https://www.tableau.com/ja-jp/support/drivers
Oracleを選んで、Desktopと同じバージョンのものをダウンロードしてみてください。
バージョンが違う場合は、ちょっと違うディレクトリに配置されてしまいます。
が、まあpath設定をすれば貫通するので、違うバージョンを入れた場合には環境設定でpathを通してみてください。

設定のメモ
https://onlinehelp.tableau.com/current/pro/desktop/ja-jp/examples_oracle.html


次にoracleに接続してみます。
「接続」サーバーへの中から「oracle」を選択。
サーバー、Service、ポートやIDPWなどを適宜入れる(ここは人によって違うので割愛)

なんとこれだけでDB接続完了です。幸せな世界。

↑このページのトップヘ