脱Excel!マーケターの必要スキル、SQLをなるべく手軽に覚えよう!① 何故Excelを辞めるのか
世の中の会社員の9割くらいがExcelと格闘した経験があるかと思います。しかしテクノロジーが色々分化した現在において、Excelが本当に最適なソリューションなのか?という所には常々疑問を持つべきなのではないか、と思ったりしてます。
私は以下の理由もあり、Excelは極力利用しない様にしてます。
- 文字コードがUTF非対応(大抵のデータはUTF-8なのに…ていうか何で未だに対応していないのか)
- Mac使いなのでExcelのレスポンスが遅い(微妙なレイテンシーが気になる)
- IF文とか書き辛い(あの細長い入力箇所に何個も括弧書きは辛い…)
などなど。
便利な所も勿論あると思います。一番手軽なのも認めます。でもこれがデファクトスタンダードになってる感じが私には少々辛いです。どこの会社でもExcel名人が作成したExcelファイルを利用してて、その人以外ファイルの変更が出来ません!みたいなことになっていることってあるのではないでしょうか。表の閲覧と簡単な集計についてはExcelで大体ことが済むんですが、ちょっと複雑になる場合はオルタナティブな手段を持っていた方がより良いと私は思うのです。そこでSQLの出番というわけです。
SQLが優れている理由① 可読性
Excelに関してはセルごとに計算書くので、可読性が著しく低いです。シートが大量にあった日にはどこでこの計算して~とか追うだけで日が暮れてしまいます。そういう経験、一度や二度誰しもあるものだと、勝手に思ってます。物事には適材適所ってものがあり、Excelで下手に何でも出来ちゃうもんだから、全部Excelを使うゴリ押しプレイが蔓延っているような気がしてます。
SQLの場合、SQL文を書く所に全て式がまとまっているので、どういう処理をしているか非常にわかりやすいです。処理の見落としというのが基本的にありえません。
SQLが優れている理由② データの変更に強い
データ行が増えた時、Excelだと基本的に再度コピペって作業が発生します。SQLはデータが変わっても再度処理走らせるだけで完了します。月一のレポーティングも同じ内容であればもう一回クエリを走らせてエクスポートするだけで全部済みます。
マクロだの使えって話があるのかも知れません。私はマクロ使ったことないので、正直わかりません。元々プログラミング出来るという方なら、特に問題はないのだと思いますがこれから勉強するという場合にはちょっとハードルが高い気もします。
SQLが優れている理由③ 汎用性
上の話を承けてですが、SQLはとりあえずどれか覚えてしまえばあとは大体同じようなことがどのシステム使ってても出来ます。MySQLでもPostgreSQLでもBigQueryでもSOQLでも、多少の方言はあれどちょっと調べればわかる程度の書き方の変更で実現出来る内容がほとんどと思います(特に分析でSQLを利用するような場合)。VBAを覚えたら他への応用ってのは…どうなんでしょう?VBとかは行けるんですかね。Excelで大半のデータを取り扱っている企業なら、使えたら便利でしょう。
SQLが優れている理由④ 使うだけならそんな難しくない
SQLは軽く使うだけなら難しくないです。実行時間とか気にしだすと色々大変ですが。Excelで完結出来るようなデータ量であればそもそもでそんなこと気にする必要はないでしょう。VBA覚えるよりは楽だと思います。言語一個覚えるのは大変ですからね。
SQLの実行環境は?
ここまで読んで、SQLが使いたくなったならお手軽にSQLが使える実行環境について考えます。思いつくのを挙げていくと
- Microsoft Accessを使う
- MySQLやPostgreSQLなどの環境をローカルにインストール
- BigQueryなどのクラウドサービスを利用する
AccessはなんとなくSQLのインストールと分けてみましたが、基本はローカルに環境を構築するか、クラウドのサービスを利用するかの2択になります。一番手軽なのはやはりMicrosoft謹製のRDBMSであるAccessでしょうか。ただ、Accessは基本的にスタンドアローンでの利用が前提みたいになっている側面があるので(よくデータが壊れるとか聞きます)、チームでの共有など考えるのであればAccessは向かないと思います。勿論出来なくはないと思いますが。
ローカルのDBの共有も色々常にサービス立ち上げないといけなかったり、ファイアーウォールだのセキュリティの所だったり環境構築が面倒だったりと手軽さという部分では疑問なので、クラウドの実行環境が一番手軽でしょう。
というわけで次回からSOQLの解説
クラウドでのSQLサービスですが、Google/Amazon/Microsoftなど有名どこクラウドプロバイダーではどこもあります。でもアカウントの作成とか色々手続きがあったりするのも事実です。また、分析したいデータをいちいちアップロードする手間もあります。じゃあ何を使うのか?
本連載の主旨はなるべく手軽にSQL文を学習するという所にあります。登録も何も必要とせず、環境構築も不要、データも既に入っている環境とは…
あっ!Sales Cloudがあるやん!
ということで次回からSales Cloudで利用できるSOQLについて説明します。実データを利用した方が学習には良い気がしているのです。SOQL独自の実装というのは勿論存在しますが、SOQLが書けたらSQLもそこそこ書ける様になるはずです。
(※今更ながらSales Cloudにアカウントがあることを前提として、この記事を書いています。)
最新記事 by Yujiro Hayashi (全て見る)
- SOQL入門 SOQLにおけるJoinの方法 - 2017-06-22
- マーケターの必要スキル、SQLをなるべく手軽に覚えよう!② SOQLを触ってみる - 2016-08-19
- 脱Excel!マーケターの必要スキル、SQLをなるべく手軽に覚えよう!① 何故Excelを辞めるのか - 2016-08-09