ラベル PowerPivot の投稿を表示しています。 すべての投稿を表示
ラベル PowerPivot の投稿を表示しています。 すべての投稿を表示

2017/02/27

[Power BI] Excel ユーザーにとっての「メジャー」とは?

先日の Power BI勉強会#3、ご参加ありがとうございました。
ご参加いただいた方で、これから Power BI を勉強したい、という人が多かったのですが、Power Pivot や Power BI Desktop を使いはじめると、早い段階で「計算列」と「メジャー」について学ぶことになります。「計算列」は Excel ユーザーにとっても馴染みがありますが、「メジャー」はなかなか理解しづらいという話をよく聞きます。

例えば、「Power BI メジャーとは」でインターネット検索すると、マイクロソフトの以下のコンテンツを見つけることができます。Power BI 関連のコンテンツは、このご時世でも結構日本語化されているんですよ。

Power BI Desktop のメジャー
https://powerbi.microsoft.com/ja-jp/documentation/powerbi-desktop-measures/

チュートリアル:Power BI Desktop で独自のメジャーを作成する
https://powerbi.microsoft.com/ja-jp/documentation/powerbi-desktop-tutorial-create-measures/

実は Excel ユーザーにとってメジャーを理解する近道、もしくは Power BI Desktop を理解するポイントは、Excel のピボットテーブルと比較するのが一番だと思います。

Power BI Desktop を操作するときは、テーブル、フィールド、レコードを扱いますが、「セル」という概念はありません。Excelユーザーが Power BI Desktop でデータを扱うとき、このセルのイメージが邪魔をすることがあります。
同じように、Excel ピボットテーブル レポートを作成する場合、表やテーブルをデータソースとして範囲指定した後は、テーブルのフィールドをドラッグ&ドロップしてピボットテーブル レポートを作ります。そこにセルの概念はありません。


この操作は、Power BI Desktop でもほぼ同じ操作性です。

ピボットテーブル レポートの作成で、数値しか含まないフィールドのチェックボックスをオンにして選択すると、そのフィールドが「数値」であることを Excel が判断して、Σ 値エリア(ボックス)に追加し、「数値」の列であることから「合計」の計算を自動的に行います。その結果はピボットテーブル レポートに自動的に追加されます。


これを「暗黙のメジャー」と呼びます。そうなんです。これが「メジャー」なんです。
つまり、メジャーとは、テーブルから何等かの計算結果を求めるための仕組みです。Excel の場合は、ピボットテーブル レポートを作成する際に、合計を求めたり、平均を求めたり、最大値や最小値をもとめる、個数を数える、といった「計算結果」を集計方法から選択することができます。


重要なポイントは、この設定では元のテーブルやワークシートに列を追加して数式を入れたり、集計行を追加しセルに数式をいれた結果を参照していません。元のテーブルやワークシートに対して、なんら列や行の追加・修正をせずに計算結果を求めています。

「暗黙の」と呼ばれるのは、数値列であれば自動的に合計が既定になり、その他平均などのメジャーが用意される、という意味です。そのため、Power BI Desktop では数値フィールド名の先頭にΣマークがつきます。

Excel のピボットテーブルの [値フィールドの設定] と [集計方法] で合計や個数、平均といった計算を指定するように、Power BI Desktop でも [値 フィールド] のドロップダウン リストから計算方法を変更することができます。


そして、Excel ピボットテーブル レポートで設定できる、もう一つの計算方法のグループがあります。[値フィールドの設定] の [計算の種類] タブを選択すると、以下のような計算の種類を選択することができるドロップダウン リストが表示されます。


比率を計算するもの、累計を扱うもの、順位を扱うものなどを選択することができます。
同様の計算すべてを Power BI Desktop でやるには、一部ダイアログの設定で可能なものもありますが、多くはメジャーを「自分で」作成することになります。その時に処理を記述するのが、ワークシート関数に似た DAX (Data Analysis eXpressions) と呼ばれるものです。

Excelユーザーからすると、ピボットテーブル レポートの「計算の種類」で設定するだけで結果を得られるものを、DAXを使った数式でメジャーを作る「手間」がかかります。そのかわり、「計算の種類」には無い複雑な計算を独自に作成することができるようになります。

過去に私のブログで上記と似た内容を投稿しているのでそちらも参照ください。

Power BI Desktop - Excel とどこが違うのか(2)
https://road2cloudoffice.blogspot.jp/2016/04/power-bi-desktop-excel-2.html

DAXについては日本マイクロソフト Data Platform Tech Sales Team Blog さんの DAX 入門シリーズが参考になります。
連載:DAX入門
https://blogs.msdn.microsoft.com/dataplatjp/dax/

先日の勉強会で「四半期がうまく扱えなくて・・・」という質問をいただきましたが、プロパティの設定変更等では対応できません。カレンダーテーブルを作成して対応します。この件は、上記の DAX 入門の「カレンダーテーブルの作成」に解説がありますので、是非ご一読ください。

Power BI Desktop のメジャーは、Excel ピボットテーブルの [集計方法] や [計算の種類] であり、かつ DAX による数式を作成して独自の計算をすることが可能な仕組みです。
GUI のオートフィルターのフィルターオプションで指定する条件なども DAX を使って数式で指定することが可能です。その結果を「メジャー」として定義して、さらに作成したそのメジャーを使って、他のメジャーで計算が可能です。このメジャーの作成に慣れてくると、分析用の事前準備ではなるべくデータにフィルターをかけずにテーブルを扱うことができたら、と感じます。
前にご紹介した、データ分析の事前準備の Power Query で、本当にデータの絞りこみが必要かどうかは、この DAX によるメジャー作成に慣れているかにもよるでしょうね。

2016/12/14

Excel BI - Power BI コミュニティ 登壇の報告

日本マイクロソフト株式会社さんで先月行われた Power BI コミュニティ 勉強会の模様が公開されていました。

Microsoft Japan Data Platform Tech Sales Team Blog
2016/11/26 Power BI 勉強会 – 第二回 が開催されました
https://blogs.msdn.microsoft.com/dataplatjp/2016/11/28/20161126-power-bi-community-2nd/

当日の様子(登壇しているのは私です)
Power BIまわりの情報提供はマイクロソフトさんもがんばってやっていらっしゃいますが、最近は Excel の視点からの情報が少なくなりつつあります。

その代り、Power Query が Excel の標準機能になるなど、Power BI と Excel の関係は変化・進化しているのが現状で、私もひとりで追いかけるのが非常に大変なのが実情です。

Power BI コミュニティ勉強会主催の かがたさんや、日本マイクロソフトの土井さん、コミュニティ勉強会に参加してくれた方と情報交換することが、情報の理解、キャッチアップに非常に役立っているのは疑う余地がないのが現状です。

上記の土井さんのブログには登壇者のパワーポイントも公開しているので、時間があれば Excel ユーザーでもぜひチェックしてほしい内容です。

2016/10/25

[ピボットテーブル] 日付 時刻 の自動グループ化を無効にする

過去に何度か取り上げているこの話題ですが、いつの間にか Excel 2016 のオプションで、この日付/時刻列の自動グループ化のオフ/オンの設定が可能になっていました。


以前は、グループ化された直後に Ctrl+Z で解除をしていました。

https://road2cloudoffice.blogspot.jp/2016/04/excel-2016.html

または、レジストリでオフにする方法が紹介されていました。

ピボットテーブルで時間グループ化をオフにする

Excel 以外のデータソースに接続して、データモデル経由でピボットテーブルを利用する場合は必要な機能ですが、ワークシートだけの利用だと、ちょっと使いづらく、やはりコンテキストメニューからのグループ化のほうが使いやすいんですよね。

2016/09/17

Power BI 勉強会 @ 品川マイクロソフト 登壇します

登壇します!と、思ったら、すでに満席でした・・・

http://connpass.com/event/38446/

Excelのユーザーのための、とうたっていますが、「取得と変換」の話になります。
逆説的なお題ですけど、以下のように思うんですよね。

  • CSVファイルの取り込みで「取得と変換」使わない理由がわからない 
  • 複数のワークシートからデータまとめる仕事なのに「取得と変換」を使わない理由がわからない
  • 複数のブックからデータをまとめるのに「取得と変換」を使わない理由がわからない
  • その、ピボットテーブルの表を活用するのに、「取得と変換」を使わない理由がわからない
  • VLOOKUPを使った数式を1万行とかのセルにコピーして「遅い」とかいうのはきつい・・・
「取得と変換」を Power Query に置き換えてもらっても同じですけどね。

データ分析結果を共有するなら、Power BI Desktop & Power BI Service です。ここで Excel にこだわる必然はないですよ。Power BI Publisher for Excel はありますが、そのダッシュボード作ることができるスキルがあれば、Power BI Desktop でレポート作っちゃった方が幸せになれると思います。

Excel 中心の作業や業務であれば、Power Query = 取得と変換 は今後必須になるでしょう、というか、いまどき CSV ファイルのインポートでテキスト ファイル ウィザードを使い続けるのはいかがなものか・・・です。取り込む時点で、データの絞り込みやら、細かくできないんですから。
そこから VBA もありですが、その前に取得と変換やってみましょうよ、と思いますね。

リレーションシップも取得と変換によるクエリがベースになります。Power Pivot は使わなくても、ほぼ同様のことを取得と変換でできます。今となっては Power Pivot の必要を感じません。
DAXをやってメジャー作るなら必要か、と思っていたら、Excel の実装はすごくて、データモデルとして登録すれば、Power Pivot を使わなくても、データモデルのピボットテーブルで、メジャーを DAX で作れるんだから、すごいよね。


みたいな話をしたいのですが、いかんせん50分くらいしかないので、絞り込まなきゃいけません。
少しでも参考になる情報を共有できれば!と思っています。

2015/08/06

Power BI Desktop と Excel の Power BI アドイン

ここにきて Power BI Desktop (旧 Power BI Designer)と、これまでこのブログでご紹介してきた Excel の Power BI アドイン(Power Query や Power Pivot)ってどう違うの?という話題が私の周りで聞くようになりました。また、Power BI と Power BI Desktop と Power BI for Office 365 など “Power BI” という単語が付いている製品・サービスの違いについても、新しい機能メインの単独紹介記事ばかりが出てくるため、関連や違いがわからない、という話も私の周りで聞きます。

これ、わかりづらいですよね。

まず、ちょっと交通整理するために、以下の単語を使って区分けしてみます。

  1. Power BI Excel アドイン
  2. Power BI Desktop  
  3. Power BI
  4. Power BI for Office 365

1. Power BI Excel アドイン

これまでこのブログで紹介してきた、単に Power Pivot などと言っていたものですが、現状では例えば Power Pivot は「the Power Pivot in Microsoft Excel add-ins」(長い。。。)と呼ばれるようになっています。

https://support.office.com/en-us/article/Start-the-Power-Pivot-in-Microsoft-Excel-add-in-a891a66d-36e3-43fc-81e8-fc4798f39ea8?ui=en-US&rs=en-US&ad=US

これまで Power BI Excel アドインとして以下をこのブログでも扱ってきましたし、私自身も Power Query や Power Pivot は業務でよく使っています。

  • Power Query
  • Power Pivot
  • Power View
  • Power Map

Power Query は Excel 2013 まではダウンロードセンターからダウンロードするアドインでしたが、Excel 2016 からは内部に組み込まれ、あらゆるエディションで利用可能となります。(一部制限あり)
このあたりのお話は以下のブログでも紹介しています。

Power Query が Excel 全エディションで利用可能になりました
Excel ユーザーのための Power BI 系インストールのお話

現実の話としては全エディションで利用可能になった Power Query 以外は、Professional Plus か Office 365 ProPlus 前提となるため、Excel アドインといえども対象となるユーザーは限定されます。

Power Query や Power Pivot は Excel をより使いやすく、リッチな機能にするアドイン、という認識ですが、以降の Power BI を見ると、実は本当に重要なアドインは Power View です。 Power Query や Power Pivot は Power View (または Power Map) による分析レポートを作成するための補助ツール、という捉え方です。

ただ通常は、Excel のワークシートでレポートは完結してしまう場合が多いので、Power View を活用している人はあまり多くないと思います。私自身も Power View までを使って分析レポートを作ることはほぼありませんでした。

しかし、Power View が目指すところは単なる綺麗な「レポート」ではないようです。レポートの共有を印刷による「紙」ではなく、たとえば、タブレットやスマホを使って、いつでも、どこでも共有可能にする、という使い方です。分析結果やキーとなる数字の共有、それもある程度定期的・自動的に更新されるデータの共有をする、それが以降の Power BI が目指すもののようです。

なお、Excel 2016 Preview (16.0.4229.1011) で、この Power View は [挿入] タブにありません。

PowerViewリボンコマンド
Excel 2013 のリボン コマンド インターフェース にある パワー ビュー

xl2016insertRibbon_small
パワー ビュー のリボン コマンドがない Excel 2016 (16.0.4229.1011) 2015年8月

[リボンのユーザー設定] をみると タブ レベルで [Power View] があるのですが、そのタブ自体が表示されていません。Excel のデータ分析のオプションをいぢっても変わらずです。
どうやら [挿入] タブから独立して [Power View] タブにしたものの、肝心の [Power View] タブが表示されていない、という現象のようです。

調べてみると、マイクロソフトではこれを Known Issues のバグとして認識しており、そのうち直す、としています。

なお、Excel 2016 Preview で Power View を手動で [リボンのユーザー設定] で追加することは可能です。コマンドの選択で [リボンにないコマンド] で、[Power View レポートの挿入] をユーザー設定グループに追加してください。

2. Power BI Desktop (旧 Power BI Designer)

GA(一般利用)にともない、Power BI Designer は Power BI Desktop に名前が変更されました。
Power BI Desktop の特徴は「Excel を必要としない Power View シート(的なもの)作成ツール」の1点につきます。なおかつ、Power BI Excel アドインを使っていたユーザーであれば、ほぼ同じ操作、考え方で Excel の Power View シートに相当する「レポート」を作成することが可能です。そして、この「レポート」を他のユーザーと共有するためのクラウドサービスが「Power BI」(以下の 3. Power BI)になります。

Power BI Excel アドインで慣れている人であれば、ほぼ、取説なしで利用可能なほど、操作性は同じです。
(以下は Power BI に Office 365 の組織アカウントを使って無料トライアルをサインイン済み、という状況を前提としています。)

[データを取得]は Power Query に相当します。

PBI_データ取得

データ取得先が SharePoint Online であれば、 OData フィードを使います。 URL の指定の仕方などは Power Query と全く一緒です。

PBI_ODataフィード

組織アカウントを使って、SharePoint Online サイトにサインインします。

PBI_サインイン

ナビゲーターも Power Query のものと一緒です。

PBI_ナビゲーター

[編集] ボタンで Power Query と同じ クエリ エディター が立ち上がります。

PBI_クエリエディタ

[閉じて読み込む] で、ワークシートにデータを展開するのではなく、データ エリアにレコードを読み込みます。

PBI_データ

左側にある [リレーション] タブは、Power Pivot のダイアグラムビューに相当します。

PBI_リレーションシップ

左側の [レポート] タブが Power View シートに相当します。ここで、キーとなる数値の表示や、データの推移や割合を表すグラフを使い、レポートを作成します。

pbidtpReport

これらは pbix 拡張子のファイルとしてローカルに保存できます。
Power View もそうですし、この Power BI Desktop による「レポート」も、対話型でデータの確認・分析ができることがメリットと言われています。

Power BI Desktop のもうひとつ重要な機能は、この pbix ファイルをサーバーにアップロードして、他のメンバーと共有できる点です。

あらかじめ Power BI の無料トライアルにサインアップしていれば、[発行] を押すと Power BI サイトへのサインインが求められます。

powerbisignin

発行が成功すると、発行したレポートへのリンクが表示されます。

pbiopenfile

リンクをクリックすると、app.powerbi.com の自分の Web サイトでアップロードしたレポートを確認することができます。

pbicomreport

3. Power BI

きっと、この Power BI というサービスが、これまで Excel と Office 365/SharePoint Online を使っていたユーザーにとって一番わかりづらいと思います。

イメージ的には、Office 365 とは違う、別のサーバー(クラウド サービス)が立っています。ただし、Azure AD でアカウントの管理を行っているので、Office 365 の組織アカウントでサインアップすると、Office 365 の一部のような形でアプリランチャーに登録されます。

Office365アプリランチャー

ちゃっかり Office 365 管理センターの [ライセンス] にも登録されています。

pbiライセンス

実践ワークシート協会では「Power BI for Office 365」を購入していたのですが、アプリランチャーのアイコンは Power BI に置き換わりました。
なお、Power BI サイトから、従来の Power BI for Office 365 にいくには、歯車アイコンから Power BI for Office 365 を選択することが可能です。

pbi4office365

無料のサービスでは 1GB の powerbi.com のストレージが利用可能です。このストレージに対して、Power BI Desktop で作成した pbix ファイルをアップロードするのはもちろんですが、Excel の Power View で作成したレポートを含む Excel ブックもアップロードすることが可能です。Power BI サイトの大まかな使い方は以下と言えるでしょう。

レポート共有のためのアップロード先

  • Power BI Desktop で各サーバー、サービスのデータを取り込み、レポートを作成し、pbix ファイルを powerbi.com にアップロードする
  • Excel で各サーバー、サービスのデータを Power Query のモデル OLE DB接続で取り込み、Power View シートを作成、xlsx ファイルを powerbi.com にアップロードする

レポート共有のためのダッシュボードの作成

  • アップロードした pbix や xlsx のレポートから必要なデータを「ダッシュボード」に貼り付け、ダッシュボードの共有先を指定する(招待する)

レポートが使用しているデータソース(データセット)のアクセスと更新頻度の管理

  • データ接続の即時更新
  • 更新頻度の設定
  • データソースへの認証情報の保存

他のサービスや共有可能なコンテンツの管理と参照

  • ダッシュボード、レポート、データセットの組み合わせでコンテンツ パックを作成し、組織内で共有をする
  • 同じ組織の他の人が公開しているコンテンツ パックの参照
  • Salesforce や Google Analytics など他のサービスのコンテンツ パックの参照と共有(Power BI Desktop や Excel を使わない)

ダッシュボード共有先の管理

  • 共有したダッシュボードが誰と共有されているかを管理する
  • ダッシュボードを共有するための「グループ」を参照、編集、新規作成できる
  • この「グループ」は、Outlook で作成し、ファイルやスレッド(会話)を指定したメンバーと共有する、あの「グループ」機能と同じ
  • ダッシュボードに登録することで、iPhone などの Power BI アプリからダッシュボードを参照できるようになります

pbi_iphone
iPhone の Power BI アプリでダッシュボードを表示

なお、無償サービスはストレージが 1GB まで、といった制限がありますが、10GB までに拡張した Power BI Pro という有償サービスのトライアルもあります。

実はこれがやっかいというか、意識せずして Power BI Pro のトライアルに移行してしまっている場合があります。私もそれになってました。。。
Power BI Pro トライアルへの申込みページはありません。無償のサービスを使っていて、有償の機能を使った時点で自動的に有償サービスの Power BI Pro のトライアルとなるようです。(私の記憶では、有償のみの設定をして、Pro のトライアルを使うかどうかの確認をされた記憶はないのですが。。。)
自分が Power BI Pro のトライアルになっているかどうかは、Power BI サイトの歯車アイコンのストレージをみるといいでしょう。パーソナル ストレージの管理で 10GB になっていれば、 Power BI Pro のトライアルになっています。

でも、10GB なんて使わないのに、どうして Power BI Pro のトライアルに移行するのか、、、謎でした。

たぶん、多くの人が「やってしまう」Power BI Pro の機能はデータセットの「更新スケジュールの設定」でしょう。

pbi更新スケジュール

この設定は1日に1回までであれば無償サービスの範囲ですが、1日に2回以上の更新を設定すれば、それは Power BI Pro でなければならないために Power BI Pro トライアルに移行しているようです。
[追記] 知らず知らずにトライアルに移行することはないようです。現在検証中です。私の場合状況から Power BI for Office 365 のライセンス割り当てがすでにされていることが関係しそうです。

Power BI 無償と有償の違い
https://powerbi.microsoft.com/pricing

Power BI Pro の Free Trial について
https://support.powerbi.com/knowledgebase/articles/664495

Free Trial は 60日間のようですが、60日たってどうなるか、、、までは上記のページから探すことはできませんでした。

4. Power BI for Office 365

Power BI for Office 365 も、URL から判断すると sites.powerbi.com で提供しているサービスで、このサービスを適用した SharePoint Online サイトのドキュメント ライブラリーにある Excel ブックを更新、Excel Online で表示したり、Power View を Online で操作することを目的としたものです。他に Data Management Gateway 機能で SharePoint の BCS (Business Connectivity Services) のように Office 365 以外のオンプレミスの SQL Server のデータなどを Office 365 経由で扱えるようにしたり、個人で作成した Power Query のクエリを他のメンバーと共有することができるようになります。

ただ、Power BI for Office 365 は、正直なところ実践ワークシート協会の Office 365 / SharePoint Online の使い方から活用しきれませんでした。

もっとも大きな理由は、SharePoint Online のリスト アイテムと Excel ブックのデータ接続の更新ができないことでした。

https://social.technet.microsoft.com/Forums/en-US/332b421c-63aa-4040-a856-db65d543c2b7/power-bi-refresh-from-sharepoint-online-list-data-source?forum=powerbiforoffice365

本来であれば、Excel で SharePoint Online のリストからデータを取得し、キーとなる数値データを Power View シートで表示し、そのブックを SharePoint Online のドキュメント ライブラリーに保存、 Power BI for Office 365 の BI サイトでブックの定期更新をして、Excel Online で表示したかったのです。ところが、データ接続を使った SharePoint Online のリスト データ更新ができないため、一旦 PC 側の Excel でブックを開き、更新後にアップロードという処理になり、これであれば、すでに Office データ接続と Excel Web Access/Excel Services で実現している方法よりも「使い勝手が悪い」となりました。(念のため、これは SharePoint Online のリストをデータソースにしているためで、SQL Server やオンプレミスの SharePoint Server であれば問題ないようです)

Power BI for Office 365 そのものは、Data Management Gateway による Office 365 とオンプレミスの SharePoint Server や SQL Server の統合機能もあり、また、Power Query のクエリの共有機能もあるため、使える機能も多くあると思います。しかし、Office 365 のクラウド セントリックな業務形態の実践ワークシート協会では、その良さを活かす場面がなかなかなく、逆にデータ接続における SharePoint Online との親和性の未熟さがネックとなってしまった、ということでしょう。

あと、現状 Power BI for Office 365 の Power BI サイトを開くと以下のようになります。

pbi4office365最新のBIはこちら

画面上部の「最新版の Power BI はこちらです。今すぐ試す」の表示から考えると、Power BI for Office 365 よりも、Power BI に集約させたい、というメッセージかもしれませんね。

Power BI にサインアップすることで、Office 365 管理センターから Power BI がなくなりました。しかし、https://admin.powerbi.com にアクセスすることで、従来の Power BI 管理センターにアクセスができました。または、SharePoint サイトに作った Power BI Site トップで歯車アイコンから Power BI Admin Center を選んで Power BI 管理センターに移動できます。

pbi4o365AdminCenter

Power BI for Office 365 を使いたかった理由はブックの自動更新 (scheduled data refresh) でした。現状、3. Power BI でそれが可能です。それも SharePoint Online のリストがデータ ソースであってもです。1日に1回の更新であれば、無償で十分であり、そもそも Power BI for Office 365 の管理センターでは1日に1回の更新しか指定できませんでした。このようなブックの自動更新の目的であれば、無償の Power BI で十分だと思います。

pbiOffice365スケジュール更新
Power BI for Office 365 でブック毎に設定できる更新スケジュールの構成。頻度は1日1回か、週に1回となる。

 

今回、Power BI と Power BI Desktop を使い込むにあたり、これまで実現できていなかった機能を確認することができました。
Excel ブックに含まれているデータ接続の Excel Online での更新については、すでに Office データ接続を使って、SharePoint サイトにアプリ権限付与をすることで可能でしたが、Power BI を使うことで Power Query による SharePoint Online リストデータ接続を含む Excel ブックを Excel Online で更新可能に設定することができます。

次回はその使い勝手と設定をご紹介したいと思います。

2015/03/25

Excel ユーザーのための Power BI 系インストールのお話

[追記] Power Query のシステム要件が v2.22 以降で変わりました。こちらを参照ください[追記終わり]
[追記] Power BI Desktop や Power BI といった Excel アドインではないサービス、製品との比較はこちら。[追記終わり]

以前、実践ワークシート協会でユーザー主催の勉強会に呼ばれた時の話を思い出して、あらためて Microsoft が現在 Excel 周りで推し進めている Power BI のアドインである Power Query、 Power Pivot、 Power View そして Power Map のインストールについて纏めてみたいと思う。

実は Power BI を使う以前の状態だった

一般の現場であった事実をご紹介する。
これは昨年の夏のことであるが、6人ほどの小規模なユーザー勉強会に協会代表理事の田中亨(Office TANAKA)と私が招待された。
このユーザーグループのメンバーは Excel のことは標準ユーザーレベル以上によくご存じであり、業務で Excel VBA も使いこなしている方々である。

Power Pivot や Power Query といった Power BI 系のアドインは、Microsoft SQL Server/Analysis Services 側の Excel アドインから派生した経緯もあり、また、Office 365 クラウド サービスの一部的な扱い方をされている関係で、PC にインストールされた Excel を主に利用しているユーザーが全くその存在を「知らない」ことが多い。これは実践ワークシート協会主催の Excel VBA セミナー の受講者の皆さんの現状を聞いても「知らない」と言うユーザーが多いことである程度は予測していた。

とはいえ、勉強会に参加するメンバーに Power BI を紹介したいと思い、事前に利用している Excel のエディションを聞いたところ、6人中、以下のような回答であった。

  • Home and Business 5人
  • Professional 1人

これでは、Power Pivot や Power Query を紹介しても、まさに「絵に描いた餅」でしかない。
なぜなら、多勢を占める Home and Business や Professional エディションでは Power BI のアドインはインストールできない、利用できないからだ。
以下が Power BI アドイン Power Query の使用前提条件である。

Power Query のシステム前提条件

マイクロソフトの office online のヘルプには2つのバージョンがあるとしている。1.5 と 2.1 (2015/3 現在の最新は 2.2)が紹介されている。

Microsoft Power Query for Excel のヘルプ

普通に Power Query のダウンロードを検索するとダウンロードセンターでヒットするのは最新版の 2.X 系である。

Microsoft Power Query for Excel (microsoft download center)

2015年3月のバージョンは 2.20.3945.242 であり、公開日は 2015/03/04 である。
このバージョンのシステム要件、特に Office のエディションは以下と明記されている。

  • ソフトウェア アシュアランス付きの Microsoft Office 2010 Professional Plus
  • Microsoft Office 2013 Professional Plus
  • Office 365 ProPlus
  • Excel 2013 スタンドアロン

この「Excel 2013 スタンドアロン」をみて多くの Excel ユーザーが自分の Excel は使えると(たぶん)勘違いするだろう。
Excel 2013 スタンドアロンとは「エディション」の名前であり、わかりやすく言えば「Excel だけパッケージされた(割高な)製品」のことだ。

英語ブログ Yes, Excel 2013 Standalone Now Includes Power Pivot.(For real, normal people have it)
Power Pivot が無ければ、Amazon から Standalone download 版の Excel を購入してみては?という記事。

Office スィートに入っている Excel、そこから、たとえ Excel のみインストールして、それを「単体」で使用しているからと言っても、それは Excel 2013 スタンドアロン エディションではない。

言えば、「個人・家庭向けの Office スィート エディションに入っている Excel は対象外」である。Solo、Personal、Home and Business、Professional エディションは個人・家庭向けの Office エディションだ。マイクロソフトの製品紹介では「ビジネス向け」に Solo、Home and Business、Professional がリストされているが、それは「日本において業務上で利用が可能」という条件の元で「ビジネス向け」といっているだけなのだ。

http://products.office.com/ja-JP/buy/compare-microsoft-office-products

Professional エディションについても勘違いしてはいけない。システム要件には 2010 も 2013 も「Professional Plus」エディションと表記されている。Plus があるのとないのとでは大きな違い(として扱われているの)だ。

OfficeProfessionalPlus2010

Office2013ProfessionalPlus

office365proplus

結局、Office の Professional Plus というエディションは法人向けの販売店・リセラーから購入した Office のエディションであり、ProPlus は Office 365 として購入しインストールした Office のことになる。

ところが、そこでも「?」となるものがある。Office 365 に含まれている Office には上記のシステム要件に「ない」エディションがある。
それが Office 365 Business である。

Office365Business

このエディションに Power Query 2.x のインストールはできない。

Office365BizPQinstall

つまり、企業向けの Office 365 だからといって使えるわけではなく、システム要件に書かれているように「Professional Plus か ProPlus」が絶対条件としての前提なのだ。
ちなみに Office 365 Business Premium という Office 365 もあるが、それも Office のエディションは Office 365 Business だ。

もちろん、つい最近利用可能になった Solo も上記の条件に当てはまらないため、システム要件を満たしていないことになる。

なお、Power Query の 1.5 についてはすでにマイクロソフトのダウンロードセンターからダウンロードができなくなっているので、この選択肢は正式にはすでにない。

ProPlus を含んでいる Office 365 は Office 365 Enterprise と呼ばれ、E3、E4 というサブスクリプション プランのみである。

http://www.microsoft.com/ja-jp/office/365/plan.aspx

前回の投稿で Excel 2016 を紹介したが、2016 では Power Query はアドイン扱いではなくなっている。
今後、これがどのような形で各エディションに展開されるかはまだ不明だが、これまでのマイクロソフトの動きを考えると、Power Pivot のように利用できるエディションのみ選択可能で、そうでないエディションはタブに表示されないか、グレイアウトされるなどの処置が施される可能性が高いと思われる。もしそうでなければその英断を称えたいところだ。

Power Pivot/Power View のシステム要件

Power Query よりはエディションの混迷度合が若干マシなのが Power Pivot だ。アドインであるには変わりないが、現在では最新の Power Pivot をダウンロードセンターからダウンロードできない。
ダウンロードできるのは Excel 2010 用のものだけだ。若干マシ、としたのは、アドインとしてダウンロードするのではなく、すでに Excel 2013 の「オプション」として Power Pivot があるか、ないかで判断可能だからだ。なお、Power View も同様である。

よって使える Excel 2013 のエディションの条件は「Power Pivot が COM アドインとして登録されているか」で確認可能だ。無ければ利用できないと判断できる。
この COM アドインに Power Pivot が含まれているエディションは Professional Plus か ProPlus のどちらかだ。

ExcelComアドイン
Office Professional Plus 2013 の COM アドイン ダイアログ

Power Map のシステム要件

実は Power Map については私自身も嵌ったクチだ。
通常は Office Professional Plus 2013 を使っているのが、Power Map をアドインとして追加しようとしたのだが、過去にできていた Power Map のアドインのダウンロードがない。いや、正確にいうと、Preview 版はあるが、Preview がはずれた正式版がない。

検索をすると Office Online の以下の記事を探し当てた。

Power Map for Excel

つまり、Power Map は Office 365 ProPlus のみ提供になったということだ。今後、Power Map Preview for Excel 2013 の更新は無い、と明記されている。
Power Map も Power Pivot や Power View 同様に、COMアドインになければ利用できない、という提供の仕方になっていたのだ。

PowerMapCOMAddIn
Office 365 ProPlus の COM アドイン ダイアログ

まさか、Professional Plus 2013 で Power Map の正式版アドインが使えなくなるとは思っていなかった。

Power BI サービスの一部だから...

上記のアドインは Power BI サービスの一部だから、、、と言われれば仕方ない。
クラウドやビックデータを扱わない Excel ユーザーにとっても、Power Query や Power Pivot はいろいろと使い道がある非常に有用な機能なのだが、これらのアドインの最終的な目的は Power View による「Power View シート」を作成し、Office 365 の Power BI サイトで組織内で共有する、というものだ。

なお、Power BI のライセンスは Power View シートを作成し、アップロードしたり、BI サイトでデータ マネジメント ゲートウェイを設定する管理者だけが持っていればよい。
共有されるシートの閲覧は、Power BI ライセンスがなくても可能であり、その閲覧のみの「ストアアプリ」がある。

Microsoft Power BI ストアアプリ

ストアアプリのみならず、iPhone/iPad 用の閲覧アプリもすでに公開されている

Microsoft Power BI アップストア

たしかに、このような使い方を前提とすれば、全 Office ユーザーがこの機能を使う必要はなく、限られたユーザーだけに絞っても問題ないという判断もできよう。
しかしながら、実践ワークシート協会の「田中メソッド」による Power BI アドインの区分けを行うと

入力・機能: Power Query
計算・機能: Power Pivot
出力・機能: Power View / Power Map / Power BI サイト

となり、ビックデータを扱うことのないユーザーでも活用の可能性があるだけに残念である。

データ分析の機能については Microsoft が力を入れているエリアであるため、今後またエディション利用条件の変更があるかもしれない。これに懲りずに興味あるユーザーはウオッチしておいて損はないと思う。

2015/02/24

入力されたデータをチェックする - ピボットテーブルの応用

Excel であったり、SharePoint リストであったり、なんらかの方法で入力されたデータのチェックをする必要が出てきた場合のピボットテーブルの使い方を紹介する。

入力値のチェック

本来、入力時に入力されたデータが正しいかどうかのチェックを行い、もし、間違っているようであれば再入力を促すのが正攻法であろう。Excel ではそのために「入力規則」という機能が用意されている。

[Office Support] セルにデータの入力規則を提供する

また、SharePoint リスト入力でも簡単な入力値のチェックの設定(入力されるデータの「型」の指定など)は可能だ。さらに条件によって入力値のチェックをするのであれば、InfoPath を使ったり、JavaScript/CSS/HTML によるリスト フォームの変更、SharePoint アプリの開発が必要になる。いわゆる「入力フォーム」を作成することになる。

しかし、このフォーム カスタマイズのためのサードパーティーのツールがいくつか提供されているという現状から、すぐに素人が標準機能で作成できるものではなく、それなりにトレーニングを受け、実務で OJT を通して経験を積まなければ、思い描く入力フォームをすぐに作成できないのが現実だ。

アンク様 SharePoint ソリューション

データ入力フェーズとして SharePoint リストや SQL Azure を利用する Office 365 Access アプリといったクラウドサービスの場合は、複数人による利用、入力を前提としている。これらを利用することで Excel 単体のみで「入力ー計算ー出力」の実務データの流れを実装するより、はるかにファイル(ブック)のロックや「他の人が使用中」といった問題、または入力用ブックを多数配布した後の集計をどうするか、といった考慮すべき点が少なくなる。

反面、データの型(文字か、数値か)やデータの範囲の入力制限、ユニークキーといった一意の値の列のみ入力などは容易に設定できるものの、ロジックや条件によって正しいか正しくないかを判定することは、その設定(アプリケーション作成)のハードルがやや高くなることは否めない。

もちろん、この入力業務を数十人以上といった大規模で行うのであれば、お金と時間をかけてでもバリデーションチェックを組み込んだ入力フォームを作るべきだが、3~5人の業務であれば 「注意して入力して!」 と担当者にお願いするのが関の山だ。それでも「誤入力」は起こる。

この誤入力を Excel 側で発見して対応するのが今回の目的である。

VBA は使わない

誤解しないでほしいのは、VBAを使えないわけではない。VBAを使えば、ほぼやりたいことはできる。しかし、VBAは最後の手段としてとっておきたい。理由は「業務上の引継ぎ」での「メンテナンスのためのスキル」からだ。機能や関数はわかっていても VBA はちょっと、、、というユーザーが多いためだが、もうひとつ、その他の要素として Office 365 SharePoint Online との親和性の問題がある。SharePoint Online 上の Excel Online で VBA を動かすことができないからだ。VBA を含んだブック (.xlsm) は一度 PC にダウンロードして、PC 側の Excel で開くことで利用が可能だが、できれば Excel Online だけで完結する方法をまずは検討してみたい。

入力された値が正しいかチェックする

ピボットテーブルというと「クロス集計表」を作るためのもの、と認識されるだろう。ピボットテーブルの主たる目的はそのためであり間違いではない。ただ、ピボットテーブルの「可能性」を認識してもらえば、さらに応用がきく使い方ができる。そのひとつが入力値のバリデーションチェックだ。
バリデーションチェックのパターンとして入力された値が正しいかどうかのチェックをしたい場合がある。 たとえば以下のようなケースだ。

・ 入力された価格が価格テーブルのものと同じかどうか

以下は実践ワークシート協会の VBA セミナーのお申込み管理の事例だが、VBA セミナー(ベーシックコース、スタンダードコース)の標準受講料は 49,800 円である。ただし、割引制度がいくつかあり、割引によって受講料が変わる。

・ 標準受講料 49,800円
・ サポーター割引 39,800円
・ 継続割引 39,800円
・ セット割引 35,000円
・ おともだち割引 35,000円

このような入力の場合は、通常、選択した割引タイプから該当する授業料をもってくるように入力フォームを作成する。Excel であれば、VLOOKUP 関数やリレーションシップを使うことになるだろう。

r2co20150223_001

SharePoint リストの入力でも同様の設定が可能だ。それが 「参照」 列だが、VLOOKUP との大きな違いとして、VLOOKUP は参照した値(49,800 や 39,800)そのものを入力しているのに対し、参照列は値ではなく ID を参照している。たとえば、継続割引を 39,800 円から 35,000 円に変更しようとした場合、もし割引テーブルを参照している状態でテーブルの価格を変えると、新規入力のものだけではなく、過去のデータもすべて変わるという動きをする。この件は過去の投稿で紹介している。

Excel ユーザーのための SharePoint リスト 「参照」 列

そのため、実践ワークシート協会の申込情報入力では、少しでも入力業務を楽にするために、割引タイプをドロップダウン リストから選択し、対応する受講料もドロップダウン リストから選択する形にした。ドロップダウン リストからの選択は「値」の代入となるからだ。

r2co20150223_002

割引タイプに対応する受講料は入力画面の受講料の例に追記しているが、それでも間違って入力(選択)することがないとはいえない。
協会では、そのチェックを SharePoint 側の開発で行わず、Excel それも Excel Services (Excel Web Access) を使って、SharePoint 上で確認している。そこで使っている機能が「ピボットテーブル」である。

ピボットテーブルとリレーションシップを使った値の比較

実は仕組みはいたって簡単だ。入力されたデータと、本来マスターから取得したかったデータを比較し、同じであれば “OK”、違う値であれば “NG” と表示する数式をいれた集計列を追加して、その集計列の OK と NG をピボットテーブルで表示するだけだ。

第1のポイントは「本来取得したかったデータ」をリレーションシップを使って関連付けし、参照していることだろう。協会の仕組みでは、データ接続タイプは Excel Online 上でのデータ接続更新を可能にするため [データ] タブの [その他のデータ ソース] の [OData データ フィード] を使い、リレーションシップと集計列の追加は Power Pivot を使い、最終的にピボット テーブルを作成した。

r2co20150223_003
データ ダイアグラムによるリレーション

r2co20150223_004
集計列 [金額チェック] を追加し、数式を挿入

r2co20150223_005
ピボットテーブルで [金額チェック] の結果を集計する

第2のポイントは、このピボットテーブルを Excel  Services (Excel Web Access) を使い、入力業務ページの SharePoint 上で即時に更新可能に設定していることだ。こうすることで、わざわざローカル PC で Excel ブックを開くことなく、SharePoint 上でピボットテーブルの更新が可能だ。

問題がなければ、つねに「OK」のみの件数が表示され、問題がある場合のみ「NG」が表示され、NG件数がわかる。通常は、入力した直後にこのデータ更新によるチェックをかけるが、もし、複数件の NG が発生した場合は、ピボットテーブルをローカルPCで開き、NG件数をダブルクリックすることで該当データの詳細が表示される。残念ながら Excel Web Access 内でピボットテーブルからのドリルダウンはできないが、ドリルダウンによる分析が主ではないため、それほど問題にはならない。

r2co20150223_006

なお、Excel Web Access / Excel Services によるデータ接続の更新については以下の記事が参考になるだろう。

http://road2cloudoffice.blogspot.jp/2015/01/excel-online-excel-web-access-excel.html

SharePoint 上での Excel Web Access データ接続更新が可能になったおかげで、多くの確認処理を SharePoint サイト上のピボットテーブルで実装することが可能になり、Excel のスキルのみで業務を遂行することが可能になったのは非常に大きな効果である。
上記がなんらかの参考になれば幸いである。

2015/02/03

リレーションシップとデータ モデル

以前の投稿でも Excel 2013 から新機能として追加されて「リレーションシップ」を紹介した。

テーブルのすすめ ピボットテーブルとリレーションシップ

このリレーションシップはテーブル間のリレーションを設定した上で、ピボットテーブル作成時に「複数のテーブルを分析するかどうかを選択」の「このデータをデータ モデルに追加する」のチェックを入れることで、ピボットテーブルのフィールド リストで利用可能になる。

またリレーションシップと同様の機能として Power Pivot の「計算列」の紹介で RELATED 関数を使った列の追加と複数テーブルの分析を可能にするピボットテーブルの作成も紹介した。

Power Pivot で計算列を作る

さらに、Power Query でも「マージ」という機能でリレーションシップ同様の結果(マージされたテーブル)を得る方法も紹介している。

Excel ユーザーのための Power Query


Excel 単体のみで利用する環境であれば、実際のところリレーショナル データベースのようなテーブルの「正規化」をすることはあまりないが、マスターデータがサーバーやクラウドといった他のシステムにある、もしくは日々のトランザクション データを他のシステムからインポートする、となると、VLOOKUP 関数や MATCH/INDEX 関数を使って複数のテーブルや表を参照しなければならないケースが出てくる。このようなケースが多くなると「リレーションシップ」の機能の利用を検討したほうが良い場合がある。

Power Pivot や Power Query という Power BI のアドインによってさまざまな可能性が提示されているが、上記のように「似たような機能」が複数あり、その選択に悩んだり、特徴を理解するのに時間がかかるのも事実である。

さらにデータ モデルを使ったピボットテーブルでは「集計フィールド」、「集計アイテム」、「日付のグループ化」ができなくなる(もちろん、それを実現するための代案もある)ということも無視できない。
[追記] 日付のグループ化はデータ モデルに追加しても可能になりました。
そこでその特徴をまとめてみた。上述のような「リレーションシップ」や「マージ」を行うと、その後工程でピボットテーブルを利用することが多いため、ピボットテーブルの利用という観点からまとめてみる。ただし、あくまで実践ワークシート協会の業務の中で実際に利用した経験上からの示唆である。

データ モデル利用の有無がポイント
上述のように似たような結果が得られる様々な機能が存在している。リレーションシップという複数テーブル間の関連を設定する方法では Excel 2013 リレーションシップとデータ モデルを使ったピボットテーブル、Power Pivot、そして Power Query のマージ機能がある。
最終的に Excel のピボットテーブルを使いたい場合、この3つの機能の関係は以下のような図で表すことができる。
DataModelExcel
Power Pivot はデータ モデルを前提とする。扱うデータは必ずデータ モデルでなければいけない。
Excel 2013 リレーションシップを設定した複数テーブル分析可能なピボットテーブルもデータ モデルを作成しなければならない。
データ モデルを使って、複数テーブルを関連づけたり、列の加工を行ったりして、そのデータを Excel のピボットテーブルに渡している、と考えられる。
データ モデルはさまざまなサーバーやクラウドを前提としているため、Excel のためだけのデータではない。そのため、本来 Excel のデータ(テーブルまたは表)を前提として用意された機能・オプションが使えなくなっていると考えると妥当だろう。
データ モデルを使ったピボットテーブルでは制限がでる、ということだ。(何度も書くが、その代替策はきちんと用意されている)

日付データのグループ化も可能な「リレーションシップ」環境
さまざまなデータ ソースを扱うことを目的としたデータ モデルは今後も拡張、発展すると考えられる。しかし、製品・サービスとしては必要だが、実務ではそれほど多様なデータ ソースを扱ってはいないのも事実だ。(今後はわからないが、少なくとも現状は多くても2~3種類だろう)
これまで同様のピボットテーブルの操作感で、リレーションシップを使って複数テーブル、複数のデータ ソースの分析をしたい、となれば、上図の構成から Excel テーブルからピボットテーブルを作るしかない。そこで出てくるのは Power Query のマージ機能だ。
Power Query のマージ機能により、複数のテーブルやデータ ソースを1つの Excel のテーブルにし、そこからピボットテーブルを作れば、これまで同様の操作性を維持することができる。
以下のような Excel のテーブルを例にとって検証してみよう。
TableSample
Excel 2013 のリレーションシップを使ったピボットテーブルや、Power Pivot から作成したピボットテーブルでは、日付のグループ化、集計フィールド、集計アイテムの利用はできない。
relationPivotNoGrouping
ここでサンプルの3つのテーブルを「マージ」したテーブルを Power Query でまず作成する。
Excel のテーブルを参照するクエリを作成するとき、同じテーブルを作成する必要はないので、「接続の作成のみ」を選ぶ。もちろん、ここではデータ モデルは作成しない。
PQ_Connection_Only
それを3つにテーブルで繰り返し、3回のマージにより1つのテーブルにする。
PQMarge
この最後のマージ(Merge3)によって出来上がったテーブルからピボットテーブルを作る。このピボットテーブルは Excel のテーブルを参照している通常のピボットテーブルなので、日付によるグループ化などが可能だ。
PQPivot
Power Pivot の意義
それでは Power Pivot の意義はないのかというと、Power Query のブック クエリのウィンドゥを見てわかるように、複雑なことをやろうとすると、クエリ、マージ、追加といった操作の繰り返しになる。Power Pivot であれば Power Pivot ウィンドゥのダイアグラム ビューを使ってビジュアルに操作が可能だ。
PowerPvVisual
テーブルの数が多くなり、リレーションシップの項目も多くなれば、Power Pivot ウィンドウによる設定の容易さは計り知れない。基幹系アプリケーションが利用しているデータベースなどは多くのテーブルが存在するため、このようなビジュアルツールでなければ設定や管理が煩雑になるだろう。

データ モデルはいつ必要になるのか
よって、Excel を中心としているユーザーにとってはデータ モデルが必須となるシーンはあまりないのが現実だ。Excel のテーブルであったり、SharePoint Online の SharePoint リストからそれほど多くないリストのインポートを Excel にして利用するのであれば、データ モデルを前提とする Power Pivot や、データ モデルを作成する Power Query のモデル OLE DB 接続にする意味はあまりない。SharePoint リスト接続や Power Query の OLE DB 接続を使い、Excel 上に展開されたテーブルを扱うことでおおよそのことができるだろう。

実践ワークシート協会の業務で唯一データ モデルが必要になるのが、Excel Online / Excel Web Access といった、Excel ブックを SharePoint Online 上で活用するときである。まだ、活用しきれていないが、Power BI もデータ モデルの Excel ブックを前提としている。
いますぐは必要ないかもしれないが、データ モデルについては今後のキーとなるので引き続きウォッチが必要だろう。

[2016/5 追記]
今後、Excelブック内でのデータ モデルは必要になります。それは Power BI service でレポートやダッシュボードを他のメンバーと共有する際に、データ モデルをベースとした処理が前提となることからです。Excelの中だけで閉じるのであればデータ モデルを作成する必要はありませんが、Power BI service などのExcel以外のサービスを利用することを考えると、データ モデルが前提となるからです。これが1年以上前と 2016年の上旬との大きな違いです。
Powered by Blogger.

自己紹介

自分の写真
1989年新卒で日本IBMに入社しダウンサイジング担当としてホストコンピュータと繋げるオフコン、UNIX、PCサーバーのプロジェクトを担当。1997年 MSKK(現日本マイクロソフト)入社、NT4出荷に伴い企業向けサポート部門のビジネスマネージャーとして Excel 使いとなり、2002年 にMSMVPなどをサポートするユーザーコミュ二ティ部門を設立、部門をリード。2006年にMSKK退職後、企業向けのITトレーニング会社・団体に携わり、2014年頃よりPowerBI勉強会主催メンバーの一人として参画、そのコミュニティ活動で MSMVP for Data Platform PowerBI 2017受賞。https://mvp.microsoft.com/ja-jp/PublicProfile/5002635 同年にMVP Awardを返上し、アマゾン ウェブ サービス ジャパンに入社、コミュニティプログラム担当として現在に至る。