見出し画像

データ分析の現場で役に立っているSQLとPythonとBIツールの本

駆け出しエンジニアのための、知っ得情報。

すでに仕事を始めている人向けに書くので、「初めての⚪︎⚪︎」みたいな本は紹介しない。

熟練者向けの内容ではないので、「こんなの知ってる」と思う方は、早めに離脱することをお勧めする。

500社で働いた私の本業は、ITエンジニア。
派遣だが、ここ数年は大企業の本社を渡り歩いている。

プログラミング、RPA、ビッグデータ分析、Webマーケティングなど幅広くやってきたが、社内SEポジションのため、ソフトウェアハウスの開発部門のような働き方はしたことがない。

12年は実務をしているので、エンジニアのレベルとしては、高くもなく、低くもなく。

上には沢山上がいるが、こんな私でも大企業の社員から何度も「先生」と言われているので、それなりに評価されているのだろう。

そんな中途半端な私だが、少しでも役に立てばと思い、データ分析の現場で使っている本とサイトを紹介することにした。


※本のリンクはアフィリエイトです


SQL


データベースやデータウェアハウスから、キレイな正規化されたデータをとってこれる環境なら、大抵SQLを使えるだろう。

私はいくつもの大企業の本社で働いたが、SQLを使えない環境で、データといえばエクセルやCSV、jsonだらけというところもまだまだあった。

データ分析は、分析専用言語のSQLが使えるのが理想的!

でも、SQLは方言があるから、1つ学べばいいというものではない。現場で使うSQLが何かを把握してから本を買おう。

ちなみに私はMySQL、Oracle Database、Microsoft SQL Server、PostgreSQL、SQLite、Big queryを実務で扱った。

方言の差はネットで調べれば、すぐに把握できるけどね。

初心者から中級まで、いまだに人気の本は

あっという間に、こういうのが必要になる。

SQLに関しては、本でカバー出来なくないと思う。

たまに1000行超のコードを書くこともあるので、心しておいて。

Pythonよりは、よほど楽。

PythonもSQLを使えるライブラリがあるので、データ分析やるなら、SQLは外せない。


Python


SQLが使えない現場。エクセルやCSV、jsonからデータ取って分析しろみたいなところでは、Pythonに頼りがちになる。

RPAソフトや、Excel、tableauやPowerBIでもどうにもならないファイルは、Pythonで頑張ってなんとか加工することになる。



データ分析は、データの前処理(データクレンジング・加工など)から始まる。
なので、ライブラリはpandasがメイン。


この本は、何度も役に立った。

で、これで十分かというと、全然そんな事はない!


なら、沢山本を買えばいいかといえば
・高い
・表紙はかっこいいのに評価がいまいち
・高評価でも自分には合わない
・知りたいことが書いてなかった
とか失敗するリスクが高い。

私は本で失敗するたびに、メルカリで売り飛ばしてきた。
メルカリで売るためには、最初に手に取った時にカバーを外して、書き込みなどしないで、きれいに扱おう。

技術書は高く売れるし、新しい本なら1、2日以内に買い手がつく。大人気なのだ。

きれいな状態なら、このくらいの値段でも1日以内に買い手がつく


てか、現場では本に書いてないケースに遭遇することが圧倒的に多いので

【教えてくれる、サポートしてくれる人がいる現場】
新卒や第二新卒くらいで、特に正社員として配属されているのなら、みんな優しく教えてくれるだろう。

経験者として配属されると聞きづらいが、サポート体制があるのなら、遠慮しないで早めに誰かに相談しよう。
先輩だけでなく、同僚の中にも強力な助っ人がいたりする。

【教えてくれる、サポートしてくれる人がいない現場】

①忙しくて教えたり、教えられたりする余裕がまるでない、ピリピリした現場の方が多いだろう。皆、自分の仕事でいっぱいいっぱいという感じで、とても話しかけられないムードなのだ。

②自分以外、新人
自分がトップで、他のスタッフは皆、新人。
自分もまだ中級レベルなのに・・・という不安の大きい状態の場合。

そんな時は、ネットで検索すると思うが、はっきり言って日本のネットの情報は薄弱。
中国の方が、よほど充実している。

英語が使えれば、世界中の人に聞ける。
エンジニアお馴染みの
StackOverflow

日本語版もあるが、情報量がしょぼくて参考にならない。

ITと同時進行で、英語を勉強しよう。

読めるだけでも助かる。私は読めるので、簡単なキーワードの単語をいくつか入れて、ロジックや、構文を探して参考にする。
このやり方で何度も、窮地を救われた。

英語が書ければ、StackOverflowで質問ができる。
世界中の、頭のいいエンジニアが答えてくれる。

話す・聞くも出来れば、ビジネススキルとして強みになるし可能性が広がる。TOEIC⚪︎⚪︎点以上が出世の条件になっている会社もあるので、習っておくと後々役立つだろう。

Pythonの公式サイト

ドキュメントは、頻繁に見る。
こちらも、公式の英語サイトをダイレクトに読めたほうがいい。



部署やプロジェクトに配属されたばかりで、時間に余裕のある場合は、見られる範囲のフォルダ内のPythonプログラムを黙々と解読しておこう。
素晴らしいコードを見つけたら、参考にしよう。

プログラミングは、地道な学習の積み重ねで強くなる。

「自分が半年前に書いたコードは、他人が書いたもの」現象も、よくある。自分で書いたものでも時間が経つと忘れるので、自分のノートまとめておこう。
私は会社のExcelメモファイルに貼った後で、自分のEvernoteに転写して『虎の巻』を作っている。
こういうのが、後々役に立つ。

【一言メモ】

※Pythonのdf操作で、構文は合ってるのに思ったように動作しない時は[ ] の付け方を間違っているケースが多い。

※ネ申エクセルのあまりに酷いやつは諦めて、新しいフォーマットにデータを書き換えよう。
私の先輩エンジニアも、データの再整形をクライアントに依頼した。世の中には、頑張れないほど汚いエクセルデータも存在する。そんな時は無駄に頑張らないこと。

※あまりに汚いExcelデータに改行コードや目に見えないゴミ情報が混入していて、read_excelしたら、エラーが出ることがあった。Pythonで除去できないものは、Power Queryの置換やクリーン関数で格闘して消すなんてこともある。

↑ こんなケースでもPythonで解決できるという人がいたら教えてほしい。
Excel操作はRPAソフトでも、しばしば地雷になる。


ソフトウェアハウスでない会社ならば、この後のグラフ化はMatplotlibを使わないで、BIツールのデータソースにすることの方が多いだろう。

一般ユーザーも閲覧で使うからね。
というわけで、代表的なBIツールの本を紹介する。


tableau

tableauは、基本中の基本のこの2冊があれば十分!

LOD計算(FIXED, INCLUDE,EXCLUDE)までは、出来るようにしておこう。でもLODでも、通用しないケースがあることも覚えておこう。

この2冊に収録されていないことを、現場でやることもあるけど、まあ大抵WEBで検索すれば何とかなる。
「tableauにはクセがある」と心しておけば、大丈夫。
「tableauはクセが無い」なんて誤認識してると、酷い目にあう。


PowerBI

PowerBIをメインで使う現場なら、DAXは使いこなせるようにしよう。すぐに必要になる。


DB設計


データ分析をしてると、データベース構築までさせられることがある。仕様書も作らされる。
もはや、なんでもやらされる。

古い本だが、今でも名作



本の紹介はここまで。


ちなみに私は今、めちゃくちゃ頭いい人たちに囲まれている環境で仕事をしている。

わからないことがあっても、そうそう「教えて」なんて言えない。皆、ハンパなく仕事抱えてるからね。

でも、どうしてもダメな時は「何が出来ないか」を明確にして相談する。すると、めちゃくちゃ頭がいい人が、ひょいっと"ヒント"をくれる。
流石に1から教わらなくても、ヒントを見て「なるほど」と解決出来るくらいになると、プレッシャーが少なくなり、ストレスも溜まらなくなるよ。



日頃から、エンジニアは情報収集が大事。

IT mediaのチェックはもちろん、CodeZine(コードジン)のカンファレンスなんかも、定期的に参加して視聴することをお勧めする。

今は、Copilotが注目されてるけど、やはり複雑なものは、まだまだ無理っぽい。

うちはセキュリティ厳しくて使えてないから、そこのところはどうなのか?気になっている。


仕入れた情報が、ある日突然話題に出てくることが少なくないIT業界。

積極的に、情報収集をしよう。

不運な人を助けるための活動をしています。フィールドワークで現地を訪ね、取材して記事にします。クオリティの高い記事を提供出来るように心がけています。