方法などを理解することで、効果的なクエリの発行を学んでいくことだろう。以下のスライドに紹介している。www.bokukoko.infoさて、その先を目指すってなったらデータ分析をしていくことになる。今回はそんな発展的なデータベースについてのお話と学習方法などについてご紹介しようと思う。データ分析の重要性それなりに自社サービスでユーザーが増えてくると、「優良ユーザーはどんな行動をしているのだろう」とか「顧客はどんな種類があるのだろう」とかの疑問が湧いてくる。これは、実際にサービスの思想や理念をベースにして開発している時に、その思想に沿った使い方をしてくれているのかの検証としても非常に重要である。理念ばかりに焦点を置きすぎて、実際のユーザーを理解していないようでは独りよがりのサービスとなってしまう。サービスとして自分たちのやっていきたい方向と、実際のユーザーの使い方の両方を適切に比較することで、初めてサービス提供者とユーザーの理想的な関係が生まれる。実際にユーザーに話を聞きに行けばいいじゃないかという意見はその通りだ。生の声ほど直感的に理解できるものはないし、実際に聞くことで生まれるモチベーションってのも確かに存在する。それはそれで継続してやっていきたいことだけども、ユーザーが増えてくるにつれ、話を聞きに行けることに限界がやってくる。そんな時にデータ分析の出番はやってくる。文を投げるだけではあるけども、その種類や方法は大きく異なる。データ解析には2通りの方法がある。ユーザーの"属性"を知るのと"行動"を知るのの2つだ。前者はいわゆるユーザープロフィールなどを集約するので、既存のデータベースから引っ張ってこれる。逆に後者は行動を一つ一つデータとして蓄積していかなければならないので、それ用の設計も必要になるし、集計の方法も変わってくる。いったのがメジャーなものとして存在する。叩けるようになることでより柔軟で欲しいデータを正確に分析することができるようになる。今回の記事ではその中でも特に重要になるであろうウィンドウ関数と共通テーブル式を簡単にご紹介する。SQLデータ分析で特に活躍するのが、ウィンドウ関数と共通テーブル式。この2つをしっかりとマスターすることで、柔軟で欲しいデータを簡潔に記述することができる。ウィンドウ関数ウィンドウ関数は、一度集約した結果を再度通常のクエリに組み込ませることができる関数だ。これによって例えば「全体のユーザーの中でこのユーザーはどんな属性か」といったことを分析することが可能になる。用法は以下のような感じだ。~)共通テーブル式1つのクエリの中で使える一時的なテーブルに名前をつけて利用することができる。これで一度取ってきたデータを元に、さらに集約をかけるみたいなことが可能になる。その集約したテーブル名を利用することができる。用法は以下のような感じだ。テーブル名;もはや裏技みたいな感じなんだけど、1つのSQLで以前のSQLの実行結果を元にデータを構築するってことができる。SQLだけで書けるようになった。実行してデータを取得するみたいなことを簡単に行うことができる。シェアすることができるので部署をまたいだデータの共有が可能になる。積極的に活用していきたいところである。この実行結果は当然SQLの実行結果と同じく"表"で出力される。これをなんとかグラフ化したいと思うことだろう。形式で結果を出力する方法が存在する。つけるだけだ!これによって、例えばデータをサーバーから読み込んで、フロントエンドのチャートツールで描画といったことも可能になる。終わりに今回はデータ分析の概要だけをご紹介した。本記事でより興味を持ってデータ分析をやっていきたい!となったら下記の本はとても参考になるので読んでみてはいかがだろうか。単行本(ソフトカバー)この商品を含むブログを見る実はこのデータ分析によってサービスを改善していく姿勢そのものが、「カスタマーサクセス」だ。いった知見は私はまだ未熟なのでこれからも引き続き勉強していきたいと思ってる。