DAXは「Data Analysis Expressions(データ分析式)」の略。
書店のパソコンコーナーに行くと「初心者向け」をうたった本で有名な「できるシリーズ」や「よくわかるシリーズ」があります。
ある時、業務で作ったAccessのファイルをメンバーに引き継ぐことになったのですが、AccessはExcelよりも説明が難しい代物。
何か参考になるものは無いかと書店に行ったところ、「ツボとコツがゼッタイにわかる」と書かれた書籍を見つけました。
手にしたのは『Accessのデータベースのツボとコツがゼッタイにわかる本』でした。
パラパラみて、「あっ、これこれ!」と私に刺さり、そのまま、手にした本を持って、レジに行きました。
Office2016以降「モダンExcel」が登場しました。
「PowerQuery(パワークエリ)」や「PowerPivot(パワーピボット)」が標準搭載されて進化したExcelのことを言うそうです。
PowerQueryやPowerPivotを使ってみたくなり、また、書店に向かうのでした。
――――――――――――
書名:『Excel パワーピボット&パワークエリのツボとコツがゼッタイにわかる本 超入門編』
著者:立山秀利(著)
出版:秀和システム(2024.03)
――――――――――――
著者はExcel、Access、Pythonなどの様々なアプリケーションやプログラムの解説書の著書を持つフリーライター。
「PowerQuery(パワークエリ)」や「PowerPivot(パワーピボット)」の初心者に対し、この機能がどんな機能で、どんなことが実現できるかを解説します。
「PowerPivot(パワーピボット)」と聞くと、「あれ? ピボットテーブルって今もあるじゃん?」と思ってしまいます。
著者は「PowerPivot(パワーピボット)」と従来のピボットテーブルの違いを解説します。
<本文引用>------------
このようにピボットテーブルはクロス集計が手軽に行える便利な機能です。ちょっととしたクロス集計なら問題ないのですが、行いたい分析のレベル、データの規模、分析元のデーその表の体裁などによっては、残念ながらいくつかの問題に直面します。代表的な問題があの4つです(図3)。
図3 ピボットテーブルで直面する主な問題
①高度な集計ができない/手間がかかる
②複数の表で構成された元データへの対応の手間
③大量のデータに弱い
④データを整える手間
(本文より)
------------------------
どういうことか?
<本文引用>------------
(1)高度な集計ができない/手間がかかる
ピボットテーブルの集計方法は合計や平均といったベーシックなものが中心です。「集計フィールド」機能もありますが、基本的には単純な計算式や関数しか使えず、高度な計算はできません。もしくは高度な計算をするための計算式の記述などに多くの手間がかかります。
例えば、よくある「単価と数量を掛けた金額の合計」は、集計フィールドでは原則、一発では出せません。また、同じ拠点の商品別売上の前年比を知りたい場合は原則、集計するまでに少し手間がかかります。しかも、前月比や前期比など集計の切り口を変えたい場合、さらに多くの手間を強いられます。(本文より)
------------------------
確かにピボットテーブルでクロス集計した表を見ると、そこで足し算掛け算を組み合わせて見たくなります。
こうした作業を繰り替えすと、どこでどう直したのかがわからなくなってしまうくらい、大量のデータが出来上がってしまいます。
<本文引用>------------
(2)複数の表で構成された元データへの対応の手間
ピボットテーブルは大前提として、1つの表のみが対象になります。その1つの表に集計・分析対象のデータの項目がすべて揃っている必要があります。
しかし、ビジネスの現場では実際、必要なデータが複数の表に分散しているケースが多々あります。その場合、データをコピペするか、もしくはVLOOKUP関数やXLOOKUP関数などで紐づけて抽出して、1つの表にまとめなければなりません。前者だと、手間がかかるだけでなく、ミスの恐れも常につきまといます。後者だと、関数の入力の手間はともかく、量が増えるとExcelのが高くなり、業務に支障をきたすようになってしまいます。
しかも、複数の表がのプット(ファイル)に分散して用意されるケースもあります。その場合、各ブッタの各表をいったん1つのブックにコピペをどで集約してから、改めて1つの表にまとめるなど、より手間がかかります。(本文より)
------------------------
なんか、分かりますね。
<本文引用>------------
(3)大量のデータに弱い
そもそもExcelはデータの数が増えるほど、処理が重くなります。これはピボットテーブルでも同様です。ビジネスの現場では、何十万件のデータを扱うケースも少なくありません。そのようなデータをピボットテーブルで分析しようとすると、処理が重くなってしまいます。扱えるデータの上側は約104万行という制限もあります。約104万行と聞くと、非常に余裕がありそうに思えますが、ビジネスのデータでは十分ではないケースがよくあります。(本文より)
------------------------
これこれ。
私はAccessを使うか否かの分岐点です。
私は初めて使ったExcelはWindows3.1のExcel4.0だったと記憶しています。
セルをしたまで、ずーと下げていくと、65,536行でストップします。(256の2乗です)
初めてそれを知ったとき、「まあ、こんなにデータ扱うことなんてないし!」なんて思っていました。
しかし、いろいろなデータの前処理や集計をやるようになって、65,536行を超えるようなデータを扱うようになりました。
そんな時はAccessを使って回避しました。
以来、私の中では「データが60,000件を超えそうならExcelではなく、Access」という知識がインプットされました。
やがてExcelもバージョンアップしていき、Excel2007では、なんと1,048,576行まで対応可能になりました。(1024の2乗です)
しかし、さらに、いろいろなデータの前処理や集計をやるようになって、1,048,576行を超えるようなデータを扱うようになりました。
そんな時はPythonを使っています。
ただ、このExcel。
ちょこっとしたデータ前処理の試行錯誤をやるには非常に便利版ですよね。
<本文引用>------------
(4)データを整える手間
こちらは厳密にはピボットテーブルとは直接関係ない問題ですが、ピボットテーブルの大前提には1つの表であることに加え、各データが分析可能なキレイな状態であることも必第です。逆に“汚い状態”のデータとは、例えば住所など文字列データの表記が統一されていなかったり、日付データなのに文字列の形式になっていたりするなどです。
そういった“汚い状態”のデータをキレイな状態に整えるには、手作業なら置換機能などを駆使しても膨大な手間がかかり、ミスの恐れもつきまとうものです。手作業はその上、 再現性がないため、新しいデータが届くたびに同じ作業を強いられます。そこで、マクロ/VBAを使って自動化する手もありますが、初心者にはハードルが高い作業です。
また、もともと“キレイな状態”であったとしても、分析を行うために変換や整形がどうしても必要になるケースもしばしばあります。さらに関連して、別ブックに分散しているデータの取り込み作業においても、ほぼ同じ問題に直面してしまいます。(本文より)
------------------------
データの0落ちや半角全角など、実際の集計作業をやる前に、こうしたデータ整備の作業って、結構ありますね。
<本文引用>------------
まずは列「商品ID」でアルファベットの大文字小文字が混在している状態を、正しい商品IDのとおり、すべて大文字に整えましょう。この加工もPower Queryエディターできます。
さっそくやってみましょう。Excelブックの[データ]タブの[データの取得と変換]グループにある[テキストまたはCSVから]をクリックしてください。「データの取り込み」ダイアログボックスが表示されたら、「売上4」フォルダーに移動し、CSVファイル「商品マスタ」を選択したら、[インポート]をクリックしてください。すると、「商品マスタ.csv」が表示されます(画面5)。
プレビューを見ると、確かに列「商品ID」でアルファベットの大文字小文字が混在しています。また、列「旧商品ID」を含んでいます。
では、[データの変換]をクリックして、PowerQueryエディターを開いてください。
アルファベットの大文字小文字を統一するには、まずは目的の列を選択します。恐らくすでに列「商品ID」が選択された状態になっているかと思いますが、選択方法を解説しておきます。列「商品ID」の列名の部分をクリックすると、列「商品ID」全体が選択されます。
その状態で、[変換]タブの中央やや右寄りにある[書式]をクリックし、[大文字]をクリックしてください(画面6)。今回は大文字に統一したいので、[大文字]をクリックします。
すると、列「商品ID」のアルファベットがすべて大文字に統一されます(画面7)。(本文より)
------------------------
へー、こんなことができるんですね。
「PowerQuery(パワークエリ)」を使い、実際にメンテナンスしようとすると、ぶつかる壁が「DAX関数」です。
<本文引用>------------
●「DAX」でメジャーや計算列の数式を書く
パワーピボットらしい/ならではの集計・分析を行う方法を学ぶうえで、最低限おさえてほしい知識の2つ目は、DAXという仕組み・概念です。読者のみなさんのほぼ全員が、DAXを初めて耳にするでしょう。
DAXは「Data Analysis Expressions」の略であり、直訳すると「データ分析式」です。先造のメジャーや計算列を作成するには、同じくのちほど体験していただきますが、数式を記述する必要がありますが、DAXはそのための仕組みです。
もう少し詳しく説明すると、メジャーや計算列の数式を書く際には、専用の関数や演算子などを使うのですが(このあと順次解説します)、それらがDAXの具体的な正体です(図1参照)。DAXの関数はDAX関数、演算子はDAX演算子と呼びます。DAXの関数や演算子などで書かれた数式はDAX式と呼びます。
本書では以降、これらDAXに関する用語を解説に用いていきます。最初はなかなかなじめないかと思いますが、「DAX~」という用語が出てきたら、「パワーピボットのメジャーや計算列に必要な仕組みなんだな」ぐらいのザックリとした理解で問題ありません。
(本文より)
------------------------
「DAX関数」は避けては通れないようですね。
私は本作を読んで、会社で毎日使っているExcelをテーブルに変換するようになりました。
せっかっくついている新機能「PowerQuery(パワークエリ)」と「PowerPivot(パワーピボット)」。
この本を読むと、触らないのがもったいないと思えてきます。
◆頭の中でシンクロした他の完読作品
『Excel パワーピボット&パワークエリのツボとコツがゼッタイにわかる本 超入門編』
『Excel Power Query データ収集・整形 自動化入門』
――――――――――――
■読んだきっかけ:『Excel Power Query データ収集・整形 自動化入門』 E-Trainer.jp
■読んで知ったこと:DAXは「Data Analysis Expressions(データ分析式)」の略。
■今度読みたくなった作品:『Excel パワーピボット&パワークエリのツボとコツがゼッタイにわかる本 実践編』立山秀利
――――――――――――

Excel パワーピボット&パワークエリのツボとコツがゼッタイにわかる本 超入門編 - 立山秀利






この記事へのコメント