【superset】supersetでSQL Labを使い複数テーブルをJOINしたものをグラフ化する
はじめに
業務でBIツールを導入する話となり、re:dashにしようかな?と思いましたが
あえてsupersetを試してみたくなったので、ローカル環境を作り
いろいろとイジってみました。
ただし、UIは非常に直感的ではなく、すぐにグラフ化するところまで
いかなかったので、操作方法を共有するために手順を書きます。
環境
前提条件
また、以下のエントリでsupersetで日本語を表示できるようにしておいてください。
やり方
SQLの記述と実行
SQL Lab → SQL Editorで画面を開き、下記のようにSQLを作成します。
select tc.birthplace , mi.name , count(mi.name) as 'count' from trn_sale ts inner join trn_customer tc on ts.trn_customer_id = tc.id inner join mst_item mi on ts.mst_item_id = mi.id group by tc.birthplace, mi.name
Run Queryボタンを押下した結果。
グラフ化
Visualizeボタンを押下して、グラフを作成します。 このとき、Datasource Nameは、一時テーブルが作成されるっぽいので わかりやすい名前がいいと思います。 ボタンを押下すると、未保存状態のグラフ作成画面に遷移します。
棒グラフではわかりずらいので、テーブル一覧にします。 また、nameカラムがないため、Group byにnameを追加して表示させます。 そして、クエリを実行した結果がこちらです。
まとめ
JOIN句を入れたものでも簡単にグラフ化をすることができました。
この手軽さがBIツールのいいところだと思います。
次回は、今まで作ったものをダッシュボードに表示するようにしてみます。
【superset】supersetでSQL Labを使い単一テーブルのグラフ化をする
はじめに
業務でBIツールを導入する話となり、re:dashにしようかな?と思いましたが
あえてsupersetを試してみたくなったので、ローカル環境を作り
いろいろとイジってみました。
ただし、UIは非常に直感的ではなく、すぐにグラフ化するところまで
いかなかったので、操作方法を共有するために手順を書きます。
環境
前提条件
また、以下のエントリでsupersetで日本語を表示できるようにしておいてください。
やり方
SQLの記述と実行
SQL Lab → SQL Editorで画面を開き、下記のようにSQLを作成します。
SELECT CASE sex WHEN '0' THEN '男' WHEN '1' THEN '女' END as 'sex' , COUNT(*) 'count' FROM trn_customer GROUP BY sex
そして、RunQueryボタンを押してSQLを実行させます。 以下、Run Queryボタンを押下した結果。
グラフ化
Visualizeボタンを押下して、グラフを作成します。
このとき、Datasource Nameは、一時テーブルが作成されるっぽいので
わかりやすい名前がいいと思います。
ボタンを押下すると、未保存状態のグラフ作成画面に遷移します。
そして、グラフを保存すると実行したSQLベースのテーブルが作成されます。
まとめ
今回は単一テーブルのグラフ化をSQLで行いました。 やはり、プログラマとしてはSQLの方が簡単に思えて仕方ないです。 なので、結局メインはSQLで書くことになりそうです。
次回は、supersetのSQL Labを使って複数テーブルを結合したグラフ化をしていきます。
【superset】supersetで単一テーブルをグラフ化するやり方
はじめに
業務でBIツールを導入する話となり、re:dashにしようかな?と思いましたが
あえてsupersetを試してみたくなったので、ローカル環境を作り
いろいろとイジってみました。
ただし、UIは非常に直感的ではなく、すぐにグラフ化するところまで
いかなかったので、操作方法を共有するために手順を書きます。
環境
前提条件
また、以下のエントリでsupersetで日本語を表示できるようにしておいてください。
やり方
テーブルの追加
Sources → Tables → +ボタン で遷移して、以下の通り入力します。
上記のように登録したら、保存をします。
保存した結果、一覧に表示されます。
グラフの作成
Slices → +ボタン で遷移して、以下の通り入力します。
未保存状態のグラフ作成画面まで遷移すればOK。
出身都道府県の件数をグラフ化
以下のように設定して、クエリを実行します。
クエリの実行が完了すると、テーブル表示で表示されます。
グラフの保存
Save asボタンを押下すると、以下のモーダルが表示されるので任意の名前を入力して保存します。
今回は「2017-01-15_blog_001」という名前で保存します。
保存が完了すると以下のようになります。
Slicesの一覧ページを見るとちゃんと保存されているのがわかります。
まとめ
単一のテーブルだけですが、やろうと思えばSQLを書かずにグラフ化が可能ということがわかりました。
ただ、プログラマとしてはSQLを書いてグラフ化するのが普通だと思います。
re:dashはメインがそれになります。
次回は、supersetのSQL Labを使ってグラフ化をしていきます。
【superset】supersetで日本語を文字化させないようにするやり方
はじめに
業務でBIツールを導入する話となり、re:dashにしようかな?と思いましたが
あえてsupersetを試してみたくなったので、ローカル環境を作り
いろいろとイジってみました。
RDSと繋ぐのは簡単だったのですが、まさかの日本語が文字化けてしまい
正常に表示するのに苦労したのでやり方を共有します。
環境
前提条件
やり方
Sources → Databasesを選択します。
次に+ボタンを押下して、新規登録画面に遷移します。
そして、MySQLの場合、以下のように記述します。
※今回は、BOX内にMySQLをインストールしてそこを参照しています。
「SQLAlchemy URI」のURI末尾に「?charset=utf8」をつけたら日本語の文字化けはなくなりました。
最初、Extraの設定でうまくいくかもと思ったのですが、まったくうまくいかず
結局、URLにパラメータをつけるということにしました。
そして、日本語が表示されるようになったか確認します。 日本語が正常に表示されています。
OSSになってまだ半年も経ってない。
また、日本での運用事例もないため、だいぶ苦戦しました。
次はテーブルの作成手順を書きます。
【雑記】今年の振り返り
もう大晦日です。
ほんと1年早いと思う反面、年々と年末年始という感じが薄れている感じです。
さて、今年を振り返ります。
【Python】CentOS6.5にPython3.5.2をインストールするとき「locale.Error: unsupported locale setting」が出るときの対処法
はじめに
ちょっとPythonでやりたいことがあり
Pythonを触ったことない人がPythonをインストールを実施したところ
数十分ハマったので、メモ書き程度の話です。
環境
前提条件
やってみた
以下に書かれていた内容をそのまま実施してみました。
その結果、エラーが発生
locale.Error: unsupported locale setting
エラーの通りなのですが、localeがサポートされていないということらしいです。
なので、localeを確認します。
[vagrant@vagrant-centos65 ~]$ locale locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory LANG=en_US.UTF-8 LC_CTYPE=ja_JP.UTF-8 LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
言語がバラバラだからかな?と思い、言語を英語にしてみたりしました。
sudo vi /etc/sysconfig/i18n . /etc/sysconfig/i18n
しかし、うまくいかず困ったときのstackoverflowです。
そして、同じように悩んでいる記事を見つけました。
その結果、以下のコマンドを打てば良いということです。
適用した内容も載せておきます。
[vagrant@vagrant-centos65 ~]$ export LC_ALL=C [vagrant@vagrant-centos65 ~]$ locale LANG=en_US.UTF-8 LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_PAPER="C" LC_NAME="C" LC_ADDRESS="C" LC_TELEPHONE="C" LC_MEASUREMENT="C" LC_IDENTIFICATION="C" LC_ALL=C
重要なのは、「LC_ALL」のようですね。
そして、インストールを再実行してみたところうまくいきました。
まとめ
こういうところで行き詰まると、本来やりたかったことが
遠のき大変ですがもっと簡単にインストールできないものかな?と思いました。
【Ruby】【6回目】Kawasaki.rb #042 に参加しました
まさかの1年3ヶ月の参加です。
Rubyから離れっぱなしなので、ちょっと気持ちを切り替える意味で参加してきました。
概要
内容
以下のページで素晴らしくまとまっているので一読必須です。
Togetter
まとめ
感想
今回、応募が15人という自分が去年参加していたころより
多くなっており、川崎Ruby会議をやった効果なのかな?と思いました。
また、地域コミュニティらしいフレンドリーな感じは健在で
1年ちょっとのブランクがあっても場に溶け込むことができました。
そして、いつも通り自己紹介から始まり、パーフェクトRuby読書会をやり
最後に発表ということをやりました。
※20分ぐらい話していたと思います。
自分が1つ発表したのが以下のものです。
Ruby勉強会なのに、Rubyのことではない過ちを犯していますが
その辺は主催者の寛大な心遣いに感謝です。
そのおかげで無事に発表して、Serverlessの1つの事例を共有できたと思っています。
懇親会
前は、ミューザ川崎の飲食店だったのですが
最近はその周辺の中華屋さんになっておいました。
安くて美味しい老舗な店でとても良かったです。
リピートする理由がわかりました。
そして、ダムの話が熱かったです。
宣伝
調度良い人数と雰囲気で、毎月開催しています。
とても参加しやすいので是非参加しましょう!
次回は年末年始なので開催日時が変則的になるようですが
今年の締めに参加してみてはどうでしょうか?
そして、参加する際は以下の本を持っていきましょう。