見出し画像

SQLを分析のために学ぶ人に本書をガチおすすめする7つの理由 by 著者

ビジネス書や自己啓発本では、SNSなどで、著者がその内容を解説したり、ウリとなる特徴をつぶやいたりするの見る機会がままあります。一方、技術書についてはあまり見かけたことがない。

そこで、2024年7月19日にインプレスさんから発売になる「BigQueryではじめるSQLデータ分析」という書籍について、著者の私から、なぜSQLを分析に使う人にこの本がガチおすすめなのかをまとめてみました。

BigQueryではじめるSQLデータ分析

著者によるオススメなので、もちろん、「買ってもらえたら嬉しいな」という気持ち満載でお届けします。

本書はベストセラー?SQL本の(大幅)改訂版です

本書は、2021年2月19日発売の「集中演習 SQL入門 Google BigQueryではじめるビジネスデータ分析」(インプレス)の実質的な改訂版です。この書籍はこのブログを書いている7月6日現在、アマゾンでのレビュー138を頂き、お陰様で平均4.2点、中央値5点と好評を頂いています。

その好評な書籍(以降、「初版」と呼びますね)を、さらにアップデートし、ブラッシュアップしたのがこのブログで紹介する「BigQueryではじめるSQLデータ分析」です。

章、それから節の粒度でページ数をまとめてみたのがこちらです。ま、趣味の世界ですね。どのコンテンツが手厚のかな?と思う方は参考にしてください。

章・節の粒度でのページ数

SQLを分析に使う人に読んでほしい7つの理由

本書は、初版を16ページ増量したにもかかわらずお値段据え置きというのがまずお買い得かな?と思います。最後まで読んで頂くと、実は本文テキストは16ページどころではなく増えているので、実はもっとお買い得です。

もう「初版」は買ったよ、持っているよ、という方にも、「こちらの本もぜひ」という理由を後述していますので、最後までお付き合いください。

では、行きます。長いので、「全部読んでられないよ!」という方は、遠慮なく左カラムの目次から、気になる箇所をクリックしてジャンプしてください。

1.学習基盤はBigQuery

BigQueryについては、検索ボリュームが増加傾向にあることから、利用者、あるいは(少なくとも)関心が高まっていると考えています。つまり、利用している企業が多い and/or 増えているのではないかと思います。

そんなBigQueryを学習の基盤としているので、本書でSQLを学ぶと、学んだことが業務に直結する人が多いのではないかと考えています。

Googleトレンドでの"BigQuery"の検索トレンド

また、本書の対象読者であるWebマーケティングに従事する方については、以下の観点からも、BigQueryを学習基盤としていることは理想的な環境なのではないかと思います。

  • 企業におけるWeb解析ソリューションのデファクト・スタンダードであるGA4はBigQueryにデータをエクスポートする機能がある

  • GoogleのSEOを行なうのに必須のツールであるGoogle Search ConsoleはBigQueryにデータをエクスポートする機能がある

なお、BigQueryと聞くと身構えてしまう人もいるとは思うのですが、サンドボックス(お試し、みたいなステータスでの利用)や、無料枠があり、インストール不要なことから学習環境としての敷居は以外と低いです。

2.手を動かす環境アリ

SQLは典型的な「手を動かして身につける」スキルです。
ですので、実務上、可視化・分析対象にすることが多いであろうデータを模した、4つのテーブルを「手を動かして学ぶ」ために用意しています。

ただし、テーブルをそのまま差し上げることはできないので、特典CSVファイルをダウンロードしていただき、それを皆さんでBigQueryにアップロードすることで演習用のテーブルを作成することができます。もちろん、その方法も本書に書いてあります。(^^)

4つのテーブルとは以下の通りです。

  •  products : 商品IDや、商品名、仕入れ価格などを格納したテーブル

  • customers : 顧客IDや、誕生日、登録日、都道府県などを格納したテーブル

  • sales : 顧客別、注文番号別、商品ID別の販売状況を格納したテーブル

  • web_log : GA4のデータ(をフラット化した状態)を模したウェブサイト利用のデータのテーブル

また、SQL文を実際に記述して解くスタイルの「確認ドリル」が3章から9章まで各5問、合計35問あるのですが、9章の確認ドリルでは、Google Search Console(GSC)がBigQueryにエクスポートしたデータが対象になっています。
「え、我が社ではGSCのデータはBigQueryにエクスポートしてない!」という方もいらっしゃると思います。

そこで、私のオウンドメディア、kazkida.com の生GSCデータを提供しています。GSCがエクスポートする以下の2つのデータです。こちらもCSVをダウンロードしていただければ、BigQueryにテーブル作れます。テーブルが作れれば、章末の確認ドリルにも取り組めますね(^^)

  • searchdata_site_impression

  • searchdata_url_impression

3.「小さなテーブル」を用意

「集計」に代表される「関数」を利用したデータの分析・整形について学習する際、対象となるテーブルが未知で大きいと、結果テーブルについての納得感が高まらず、関数の機能について十分に理解できない懸念があるなーと思いました。

 例えば、以下は、salesテーブルを対象にした商品ID別の販売数量の合計なのですが、結果が正しいのかどうかも分かりませんし、なんならquantity列の値を合計した数値が商品IDごとに集計されているという事自体への納得性もいまいちなのではないかと思いました。

salesテーブルを対象にした集計

そこで、学習するテーマに応じて、「元のテーブルと結果テーブルを比較することで、SQL文の処理が直感的に分かる」ことを目的に32個の「小さなテーブル」を用意しました。

小さいテーブルで同じSUM関数を利用した結果を求めると以下の通りとなる(左側が小さなテーブルの全列・全行。右側が集計結果)

小さなテーブルで「集計」の検証

しかも、初版に対してたくさん頂いた、「小さなテーブルに対しても手を動かしてSQL文を書き、結果を確認したい」というご要望には「WITH句を含むテキストを配布するので、その結果をBigQueryのテーブルとして保存する」という方法で比較的カンタンに「小さなテーブル」を作成して頂けるようにしました。

54秒の動画でWITH句を含むテキストからBigQueryのテーブルを作成する方法説明していますので、ご参照ください。(もちろん、本書にもやり方は書いてあります)コピペからはじまりますが、コピー元のテキストファイルはインプレス社のサイトから配布致します。

4.分析のためののSQLに集中

SQLには、テーブルを作成、削除するコマンド、行(レコード)を挿入、あるいは削除するコマンドがあります。それらのコマンドに習熟することはエンジニアとしては必要なことだと思います。

一方、分析者がそのようなテクニックに習熟する必要はないと思います。そこで、本書は、エンジニアが必要とするSQLのテクニックについては一切触れておらず、100%、分析者が必要とするテクニックに集中しています。

そのため、類書にくらべて丁寧な記述、一歩踏み込んだ内容の記述を本書に盛り込むことができました。

例えば、総合的なSQL学習書籍としてベストセラー(と思われる)「スッキリわかるSQL入門」(インプレス)という書籍があります。私も、実は一番初めにSQLを学んだ、思い出深い書籍です。

この書籍は、382ページからなる12章で構成されています。私の分析では、そのうち、37%程度にあたる144ページは、「トランザクション(9章)」や「テーブルの設計(12章)」など、エンジニアが必要とする知識についての記述であり、分析者が知っておくべき知識についての記述は238ページ分にとどまっています。
(スペック上のページ数は582ページですが、付録などを含んでおり、実質的な学習コンテンツにあたる「テキスト本文」は382ページです)

一方、Apple To Appleで比較すると、本書は9章484ページすべてが、分析者が知っておくべき知識になっています。 つまり、分析のためにSQLを学ぶのであれば、本書がボリューム的には圧倒的ということです。
(スペック上のページ数は496ページですが、本文テキストは484ページです)

5.前提知識ゼロから学習可能

本書はSQLを全く知らない初心者の方でも学習できるように設計していしています。そのため、BigQueryのアカウント解説方法から説明を開始するとともに、BigQueryのクエリエディタの操作はもちろん、頻出する用語の説明や、最も基本となるSQLのコマンドから解説しています。

初版に対して、、、ではありますが、アマゾンでは、こんなレビューも頂いています。嬉しいです(T T)

初版に対するアマゾンでのレビュー

6.中級者レベルのトピックもアリ

以下のような、中級者向けのトピックにも触れています。以下のテーマは、通常は初心者むけのSQL学習書籍ではカバーしていないと思います。

  • ウィンドウ関数 →初版でも扱っています

  • 配列(ARRAY) →本書で初めて取り上げました

  • 構造体(STRUCT) →本書で初めて取り上げました

  • ユーザー定義関数(User Defined Fuction、UDF) →本書で初めて取り上げました

つまり、本書で学習すれば、初級者を脱し、中級者(少なくともその入口)レベルになれると思います。

7.実務者向けの活用例アリ

SQLの学習書籍では、SQL自体は学習しても、通常、特定のデータセットについての可視化や分析は取り上げません。一方本書では、SQLを学ぶモチベーションや、必要性の源泉にあたる、個別具体的なデータを取り上げて、可視化・分析のテクニックを紹介しています。

具体的には以下の3つです。もちろん、本書で取り上げたSQLの分析例だけですべての分析が網羅できるはずもありませんが、データの構造の理解や、特定のディメンション(例えば、GA4の ga_session_number)や指標(例えば、GSCの平均掲載順位)を取得する方法が理解でき、ご自身で応用可能になるでしょう。

  • GA4がBigQueryにエクスポートしたデータ

  • GSCがBigQueryにエクスポートしたデータ

  • Googleフォームで取得したアンケートデータ

初版を持っている人に向けて

初版をお持ちのみなさん、お買い求めいただきまして、誠にありがとうございます。皆さんが、初版によってSQLのスキルを身に着け、業務で活用し、成果をあげていらっしゃることを切に望みます。

で、実は、初版を持っている方にも本書の購入をオススメしたいと思っています。え、ずうずうしい?
まあ、そういわず、初版を持っている方にもぜひ買ってもらいたい5つの理由について述べさせてください。

こちらも長いので、もし、全部は読み切れない。ということでしたら、目次から、関心のあるところにジャンプしてください。

1.演習用のデータをアップデート

演習用のデータの一部、特に、web_logテーブルについては、完全に入れ替えています。
カラム構成としてGA4がエクスポートしたテーブルをフラット化したカラムを模しています。したがって、ユーザー数をカウントする元となる、 user_pseudo_idや、ユーザーのセッション番号を示す、 ga_session_numberなど、GA4がエクスポートしたデータを取り扱う際に馴染みとなるカラム名でデータを用意しています。

GA4のデータを分析したいんだよな。という方は、データに対する馴染度をあげるという観点で、本書はお役に立てると思います。

2.取り上げる関数やコマンドの増量

初版では取り上げなかった関数やオプションについて取り上げたり、初版発行後、BigQueryに追加されたSQLコマンドや、関数について触れています。具体的には以下です。

  • PARSE_DATE関数

  • PARSE_DATETIME関数

  • ウィンドウ関数の一部に対して適用できる IGNORE NULLS オプション

  • QUALIFY句(ウィンドウ関数の戻り値に対する絞り込みを行なう句)

  • PIVOT関数(縦持ちデータを横持ちに変換する関数)

  • UNPIVOT関数(横持ちデータを縦持ちに変換する関数)

3.9章全体の加筆

9章の65ページ分の内容はすべて書き下ろしです。確認ドリルもついています。9章の節構成は以下の通りです。

  • 9-1 本章の学習方法と対象とするデータ

  • 9-2 GA4データの整形と分析

  • 9-3 Search Consoleデータの整形と分析

  • 9-4 Googleフォームデータの整形と分析

  • 9-5 確認ドリル

4.細かい表現等の改善

初版からの修正については、図版の追加・修正、データの修正、「小さなテーブル」の命名規則の修正、冗長な表現の削除等、文意の通りやすさの修正など、大小あわせ、のべ1000箇所以上の修正(ただし、すべてが紙面に反映されている訳ではない)をしております。

多少なりとも、読みやすくなっているのではないかと思っています。

5.説明をより丁寧に

以下の3点で、実質的な学習用コンテンツである「本文テキスト」が大幅に増量し、説明が全体としてより丁寧になっています。

  • 初版から16ページ増量しました。(480ページから496ページへ)

  • 章末の確認ドリルの解答(約35ページ分)がネット上に引っ越しし、その分が本文テキストのスペースに充てられました

  • 巻末の演習ドリルは(42ページ分)は(よかれと思ってそうした部分もあるのですが、似たような問題もありましたね^^;)カットし、その分が本文テキストのスペースに充てられました


という訳で、初版をお求め頂いていないみなさんも、持ってるよという皆さんも、SQLを身に着けたい、ブラッシュアップしたいという目的を満たすため、ぜひ、本書をご検討いただければ幸いです。

長い文章を読んで頂き、ありがとうございます。 m(_ _)m

この記事が気に入ったらサポートをしてみませんか?