これまで、PowerPivot について何回か投稿してきました。
しかし、そもそも PowerPivot って何?という投稿が一度もありませんでした…深く反省…そこで、今回は PowerPivot そのものをきちんと「ご紹介」したいと思います。
※PowerPivot for Excel 2010 の使い方を詳しく知りたい方は、是非とも以下のドキュメントをご覧ください SQL Server 2008 R2 自習書「PowerPivot for Excel 2010によるセルフサービス分析」
※PowerPivot for Excel 2010 の使い方を詳しく知りたい方は、是非とも以下のドキュメントをご覧ください
※PowerPivot for SharePoint Server 2010 について詳しく知りたい方は以下をご覧ください PowerPivot for SharePoint
※PowerPivot for SharePoint Server 2010 について詳しく知りたい方は以下をご覧ください
-------------------
BI (Business Intelligence) ��聞いて、システム管理者の方々はどのような印象を持たれますか? 「訳がわからん!」というのが正直なところではないかと思います。データベースの管理やチューニングは得意でも、BI となると一気に腰が引けてしまう...そんなエンジニアは多いはずです。実を言えば、私もそうです。 軽視されがちですが、以前から SQL Server には BI をサポートする機能が実装されています。
これらのサービスは使いこなせればかなり便利ですし、とても高度で有用な機能を実装しています。しかしあまりメジャーではない理由...。それは、これらの機能が主に「データベース アプリケーションの開発者」向けだったからです。
事実、これらの機能を使用するには Business Intelligence Development Studio と呼ばれる Visual Studio に似た開発ツールを使用しなければなりません。覚えてしまえばなんてことのないツールではありますが、マイクロソフトからの情報の多くが開発者向けに提供されていることもあり、インフラ担当 SE や IW 層にとっては縁のないテクノロジーとして捉えられていたことは事実です。
効率的にそして効果的にデータを分析するには、「分析する人」と「分析するデータ」に合ったツールを用意する必要があります。
SE であれば「PowerShell さえあれば十分」という方もいらっしゃるでしょう。一方で、マーケット部門や経営企画部門などに所属する IW (Information Worker) と呼ばれる方々にとっては、「使い慣れた Excel ですべての作業を完結したい」と考えるのは当然です。しかし従来はそうはいきませんでした。データは複数のデータベースに散在しているし、それらを使い慣れた Excel に取り込むのだって一苦労です。もちろんそれをサポートするシステム部門も大変です。SE はシステム管理には詳しいものの、Excel のマクロ、ましてやピボット テーブルの使い方にはとんと疎いというのは定説と言ってよいでしょう。
おそらく、SE と IW の本音は以下のとおりでしょう。
これらを実現するソリューションが、5月1日発売開始予定の SQL Server 2008 R2 と共に登場します。それが PowerPivot (パワー ピボット) です。ピボット テーブルとどこか似た響きを持ったこのテクノロジーは、果たしてどのような機能を実現してくれるのでしょうか。詳しく見ていきましょう。
■PowerPivot とは
PowerPivot とは EXCEL 2010 および SharePoint Server 2010 用のアドイン機能です。それぞれの特徴を以下に示します。 PowerPivot for EXCEL 2010 従来 SSAS を使用して作成しなければならなかった多次元データベース(CUBE)を Excel 上で作成できる。これにより、分析を行いたいユーザー自らが手持ちのデータを PowerPivot に読み込み、自由に分析を行うことができるようになる。分析の手法は従来のピボットテーブルと同様であり、これまでの操作性を維持できるため、生かすことが可能。保存したExcelのブックには CUBE も含まれるため、ファイルとして流通させることも可能。 PowerPivot for SharePoint Server 2010 SharePoint Server 2010 の Excelサービスに PowerPivot 機能が組み込まれ、PowerPivot が組み込まれたExcelシートのランタイムとして機能するとともに、SharePoint Server が持つドキュメント管理機能を使用してアクセス権を厳密に管理することができる。Excel 2010 を持たない利用者であっても、Internet Explorer を使用して SharePoint Server 2010 にアップロードされた「PowerPivot が組み込まれた Excel シート」を参照できる。
PowerPivot とは EXCEL 2010 および SharePoint Server 2010 用のアドイン機能です。それぞれの特徴を以下に示します。
これらの機能により、これまでシステム管理者に依頼しなければならなかった分析用データの準備を自ら行えるようになり、かつ分析後のデータは、分析を実行する利用者が持つ権限の範囲で自由に公開することができる。 ⇒
これらの機能により、これまでシステム管理者に依頼しなければならなかった分析用データの準備を自ら行えるようになり、かつ分析後のデータは、分析を実行する利用者が持つ権限の範囲で自由に公開することができる。
⇒
■PowerPivot for EXCEl 2010
PowerPivot for EXCEL 2010 がインストールされると、Excel のメニューには「PowerPivot」メニューが表示されます。利用者は、このメニューから PowerPivot ウィンドウを開いて、各種機能を使用することができます。 PowerPivot で扱うことができるデータソースは多彩です。 SQL Server や Access、Excel、テキストファイル はもちろんのこと、SQL Azure、Oracle、データフィードなど を利用者の権限の範囲で取り込むことができます。もちろん、取り込んだこれらのデータは1つのCubeに組み込むことができます。 システム管理者は、これまでのように、利用者に対して新たにSQL Server上にデータを取り込んで準備したり、キューブ作成の手伝いを行う必要はありません。利用者が使用したいテーブルのアクセス権だけを意識すればよくなります。つまり、システム管理者にとって難解な BI 用語を覚える必要がなくなるのです。 逆に、利用者はシステム管理者がデータを準備するまで作業を 停止する必要はありません。分析者としてのプロの「勘」をフルに働かせ、分析に使えそうなデータを見つけたら、即、分析軸に取り込むことができます。いささか極端ではありますが、そのデータさえ信頼できるものであれば、WEB 上で見つけたデータをそのまま EXCEL にコピペして PowerPivot に取り込むことだって可能です。 Cubeを作成したら、ピボットテーブルと同様の操作で分析を行えます。 Excel 2010 からは スライサーと呼ばれる機能が実装されており、フィルターを非常に簡単に作成できるようになっています。右の画面ショットの例では都道府県をスライサーに設定しています。
PowerPivot for EXCEL 2010 がインストールされると、Excel のメニューには「PowerPivot」メニューが表示されます。利用者は、このメニューから PowerPivot ウィンドウを開いて、各種機能を使用することができます。
PowerPivot で扱うことができるデータソースは多彩です。 SQL Server や Access、Excel、テキストファイル はもちろんのこと、SQL Azure、Oracle、データフィードなど を利用者の権限の範囲で取り込むことができます。もちろん、取り込んだこれらのデータは1つのCubeに組み込むことができます。
システム管理者は、これまでのように、利用者に対して新たにSQL Server上にデータを取り込んで準備したり、キューブ作成の手伝いを行う必要はありません。利用者が使用したいテーブルのアクセス権だけを意識すればよくなります。つまり、システム管理者にとって難解な BI 用語を覚える必要がなくなるのです。
逆に、利用者はシステム管理者がデータを準備するまで作業を 停止する必要はありません。分析者としてのプロの「勘」をフルに働かせ、分析に使えそうなデータを見つけたら、即、分析軸に取り込むことができます。いささか極端ではありますが、そのデータさえ信頼できるものであれば、WEB 上で見つけたデータをそのまま EXCEL にコピペして PowerPivot に取り込むことだって可能です。
Cubeを作成したら、ピボットテーブルと同様の操作で分析を行えます。 Excel 2010 からは スライサーと呼ばれる機能が実装されており、フィルターを非常に簡単に作成できるようになっています。右の画面ショットの例では都道府県をスライサーに設定しています。
■PowerPivot for SharePoint Server 2010
PowerPivot for EXCEL 2010 で作成したブックは、そのままメールの添付ファイル等で流通させることが可能です。ただし、ブックには一切の分析用ソースが含まれているため、そのまま流通させることに躊躇してしまうはずです。正しい分析結果を維持するためには、データの改ざんも防止しなければなりません。 また、Excel 2010 を全員がインストールしているかどうかという不安もあるでしょう。 このようなセキュリティや情報共有の問題を解消してくれるのが、PowerPivot for SharePoint 2010 です。そういう意味では、「組織的な展開を前提とするのであれば PowerPivot for Excel 2010 と PowerPivot for SharePoint 2010 はセットの機能である」と考えていただいたほうが良いでしょう。 PowerPivot for SharePoint 2010 が SharePoint 2010上 にインストールされると、SharePoint Server の Excelサービスに PowerPivot エンジンが組み込まれます(実際には、バックエンドの SQL Server Analysis Services との連携機能が実装されます)。これにより、PowerPivot for Excel 2010 で作成したブックはSharePoint Server 2010 上で実行可能となります。 PowerPivot for SharePoint Server 2010 上で実行される Excelシートは、Internet Explorer で参照することができます。もちろん、Internet Explorer 上か らスライサーを操作することができますから、必要な分析結果に絞り込んで参照することができます。 右の図は 「PowerPivot ギャラリー」と呼ばれる Silverlightベースのライブラリ機能です。これにより、アップロードされたブックを、シート単位にプレビューすることができるため、どのような分析結果を参照できるのかをいちいち開いて確認する必要がありません。PowerPivot の核となる機能ではありませんが、利用者にとってとても便利な機能でしょう。 そして、当たり前すぎるので詳しくは触れませんが、SharePoint Server が持つアクセス権管理機能を使用して、参照、編集などを厳密に管理することができます。
PowerPivot for EXCEL 2010 で作成したブックは、そのままメールの添付ファイル等で流通させることが可能です。ただし、ブックには一切の分析用ソースが含まれているため、そのまま流通させることに躊躇してしまうはずです。正しい分析結果を維持するためには、データの改ざんも防止しなければなりません。
また、Excel 2010 を全員がインストールしているかどうかという不安もあるでしょう。
このようなセキュリティや情報共有の問題を解消してくれるのが、PowerPivot for SharePoint 2010 です。そういう意味では、「組織的な展開を前提とするのであれば PowerPivot for Excel 2010 と PowerPivot for SharePoint 2010 はセットの機能である」と考えていただいたほうが良いでしょう。
PowerPivot for SharePoint 2010 が SharePoint 2010上 にインストールされると、SharePoint Server の Excelサービスに PowerPivot エンジンが組み込まれます(実際には、バックエンドの SQL Server Analysis Services との連携機能が実装されます)。これにより、PowerPivot for Excel 2010 で作成したブックはSharePoint Server 2010 上で実行可能となります。
PowerPivot for SharePoint Server 2010 上で実行される Excelシートは、Internet Explorer で参照することができます。もちろん、Internet Explorer 上か らスライサーを操作することができますから、必要な分析結果に絞り込んで参照することができます。
右の図は 「PowerPivot ギャラリー」と呼ばれる Silverlightベースのライブラリ機能です。これにより、アップロードされたブックを、シート単位にプレビューすることができるため、どのような分析結果を参照できるのかをいちいち開いて確認する必要がありません。PowerPivot の核となる機能ではありませんが、利用者にとってとても便利な機能でしょう。
そして、当たり前すぎるので詳しくは触れませんが、SharePoint Server が持つアクセス権管理機能を使用して、参照、編集などを厳密に管理することができます。
このように、PowerPivot を使用することで、システム管理者にとって面倒だった「BIのサポート」を利用者自身に任せてしまうことができます。マイクロソフトは、これらの機能を「セルフサービスBI」と呼んでいます。
PC が企業に導入されて社員一人一台が当たり前になりつつあったころのこと、「EUC」という言葉がもてはやされました。End User Computing、つまり利用者自身がコンピュータの機能を使いこなすことでビジネスのスピードアップを図る、という考え方です(おおざっぱすぎますかね…)。
たしかに、OAツールの進化によって利用者自身でできることは増えました。相対的にエンドユーザーのコンピュータリテラシーは向上したといってよいでしょう。しかし、要所要所でシステム管理者の手助けが必要だったり、場合によってはシステム管理者がアクションを起こさないと次に進めない機能も多く存在しています。
こうした現状は、システム管理者の負荷を増やすだけでなく、利用者のストレスをも増幅します。結果としてシステム全体の品質低下になりかねません。その責任の一端は、もちろんマイクロソフトにあります。誰が何と言っても、それは間違いありません。
マイクロソフトは、システム管理者と利用者がお互いにストレスを感じないソフトウェアの開発に力を入れています。そのキーワードの1つとなるのが「セルフサービス」であり、その考え方を取り込んだのが「セルフサービスBI」、つまりPowerPivot なのです。
いやー、ここ数日の当 BLOG へのアクセス数をみると、見事に人気のない PowerPivot に関する投稿です(笑)。でもいいんです。認知が低いものを訴求するのが私の仕事ですから…(涙)。
興味のある方は 1,048,576人にお1人程度かと思いますが、PowerPivot for EXCEL 2010 のアーキテクチャと、ハードウェア要件および容量制限等について簡単に書いておきます。参考サイトは以下の通りです。
MSDN:PowerPivot Team Blog より PowerPivot Component Architecture
PowerPivot for Excel 2010 は Excel 2010 のアドインであることは何度も触れている通りです。このアドインをインストールすると Excel 2010 にデータ分析のための機能が追加されます。これによって、SQL Server Analysis Service(SSAS)を使用することなく、OLAPベースの ピボットテーブル、ピボットチャートが使えるようになるのです。よろしければ以下のサイトも参考にしてください。
【BI】PowerPivot ってなんだ?
「アドイン」であるということはとても重要な概念でして、これを踏まえて以下の図をご覧ください。PowerPivot for EXCEL 2010 のアーキテクチャを表したものです。
ざくっと書いてしまうと、PowerPivot for Excel 2010 Add-In Assembly が PowerPivot を Excel本体にロードし、VertiPaq とエンジンと呼ばれる高速処理機構が圧縮したデータをメモリ上に片っ端から読み込んで処理を行います。PowerPivot の特徴は、「メモリ上で実行する」という点にあり、一切のクエリーや計算はディスクを介さずに実行されます。それによって高速な分析を可能にしています。
それそれのコンポーネントについて、以下に簡単に解説しておきます。
■ PowerPivot for Excel 2010 Add-in Assembly
PowerPivot を Excel に読み込む。その後、PowerPivot は Excel 本体側の Interop Assembly COM を通じて、Excel内のオブジェクトをコールしたりイベントを受け取ったりして相互運用するようになる。
■ Registry settings and manifest files
このマニフェストファイルによって Excel 2010 は PowerPivot のランタイムをロードできるようになる。HKEY_CURRENT_USER\ Software\Microsoft\Office\Excel\Addins に、インストール先とマニフェストファイル(XMLファイル)の場所が書かれている。
■ VertiPaq engine
VertiPaq(たぶん ベルチパック って言うのだと思います(笑))は PowerPivot の主役といってもよいでしょう。分析のための計算や集計などをメモリ上で実施するためのエンジンです。ピボットテーブルやピボットチャートが発行するクエリーやDAX(Data Analysis Expressions)構文なんかを高速に実行してくれます。
■ VertiPaq database
PowerPivot 用のデータベースです。面白いのは、このデータベースは xlsx ブックの内部に含まれているってことなんです。 意味が解りません?PowerPivot を使用して Cube を作成すると、その保存先は xlsx ブックの中なのです。なぜそんなことができるのか?それは、手元の xlsx ファイルの拡張子を zip に変更してみると面白ものが見えます。 上の図の左側に Excel Workbook(xlsx ファイル)があり、その中にxlsxファイルを構成する Parts として Workbook と PowerPivot が含まれていることがわかります。 参考 For Excel PowerPivot, the Database is IN the Workbook http://go.microsoft.com/fwlink/?LinkId=181771.
PowerPivot 用のデータベースです。面白いのは、このデータベースは xlsx ブックの内部に含まれているってことなんです。 意味が解りません?PowerPivot を使用して Cube を作成すると、その保存先は xlsx ブックの中なのです。なぜそんなことができるのか?それは、手元の xlsx ファイルの拡張子を zip に変更してみると面白ものが見えます。
上の図の左側に Excel Workbook(xlsx ファイル)があり、その中にxlsxファイルを構成する Parts として Workbook と PowerPivot が含まれていることがわかります。
参考 For Excel PowerPivot, the Database is IN the Workbook http://go.microsoft.com/fwlink/?LinkId=181771.
■ Data cache
テンポラリファイルです。
■ Microsoft OLE DB for Online Analytical Processing (OLAP)
上の図の右下に位置する紫色のコンポーネントです。こいつによって、Excel はピボットテーブルやピボットチャートを介してPowerPivot のデータベース(Cube)にアクセスすることができます。このコンポーネントにより、PowerPivot for Excel だけでなく、SSAS や PowerPivot for SharePoint へのアクセスも提供されます。
■ Analysis Management Objects (AMO) and ADOMD.NET
開発者の方には説明の必要はないと思いますが、AMO とはその名の通り管理用オブジェクトモデルであり、ADOMD.NETは SSAS との通信用に設計されたデータ プロバイダです。ADOMD.NET は、XML for Analysis(XMLA)プロトコルを使用して SSAS や PowerPivot とやり取りをします。
最後にPowerPivot のハードウェア要件について触れておきたいと思います。
PowerPivot はその性格から、マルチコア / 大容量メモリ / 64ビット の恩恵を最大限に受けられるように設計されています。じゃ、ディスクはどうなのかといえば、これは大容量であるのに越したことはありません。だって、数十億行のデータをガンガン ワークブックに取り込むことができるんですから(もちろん圧縮機能によって圧縮されはしますが…)。
PowerPivot for SharePoint を使用する場合には、保存のために大容量データが転送されますから、ネットワークも高速に越したことはありません。
ちなみに、PowerPivot を含んだワークブックの最大容量は 2GB です。ただし勘違いしないでください。ワークブックに含まれるデータベースは PowerPivot によって圧縮され、その圧縮率は一般的に 2倍 と言われています。よって、インポートできるデータ容量は全部で 4GB 程度が目安(あくまで目安!)です。
以下の表は PowerPivot Team Blog からの情報です。日本語環境では異なる場合がありますのでご注意ください。
※2010年3月1日 BLOGレポート追記 ※ 〃 BLOGレポート追記 ※ 〃 BLOGレポート追記 ※ 〃 写真追加、BLOGレポート追記、修正 ※ 〃 メディア追記
2010年2月27日、マイクロソフト新宿オフィスのセミナールームにて Active Directory 10周年を記念したイベントを開催いたしました。
メディア各社からのレポート(2010/3/3 0:33 追記) ※ブロガーの皆さんの記事は、この投稿の最後でご紹介しています。 gihyo.jp マイクロソフト,Active Directory 10周年記念イベントを開催 CodeZine Active Directory 10周年セミナー開催、「#AD10th」でリアルタ���ムの情報交換も マイコミジャーナル マイクロソフト、Active Directry 10周年記念イベントを開催(2010/3/3 13:02 追記)
メディア各社からのレポート(2010/3/3 0:33 追記) ※ブロガーの皆さんの記事は、この投稿の最後でご紹介しています。
土曜日だというのに多くの皆様にご参加いただきまして、ありがとうございました。懇親会まで脱落者が出ず(ですよね?)、ここまで盛り上がったのはひとえに皆様のおかげです。最後は飲み物が足りなくなってしまいまして、ごめんなさい…。そのあと新宿の街では楽しめましたでしょうか?
そして、スピーカーとしてご参加くださいました、横山さん、小鮒さん、国井さん、吉田さん、竹島さん。運営周りでさまざまご迷惑をおかけしてしまいましてすみませんでした。そして最後までお付き合いいただきましたこと、心よりお礼を申し上げます。バタバタしてしまい、お見送りもきちんとできませんでした…。
最後に、プレスの皆様、スピーカーを担当してくれた社員のみなさん、そして運営スタッフのみなさん、本当にお疲れ様でした。今回は準備にも時間がかかりましたし、事前調整もたくさんあって大変だったと思います。運営スタッフのみなさんは4月9日までの記念セミナー完了までもうひと頑張り、よろしくお願いいたします。
さて、当日の様子を時系列に追っていきたいと思います。
■11:00 受付準備に余念がない運営スタッフ
準備しているのは、もちろん10周年記念メダルと10周年記念帯付の本!
■12:00 会場内の準備も整い、あとはお客様を待つばかり
■13:00 いよいよ開始!
■13:10 1つ目のセッション「Active Directory 10年の歩み」マイクロソフト コンサルティング サービス 柿沼氏と待鳥氏
PCNSを使ってパスワード同期のコツを説明
■13:40 2つめ「Active Directory 提案のつぼ」 プリセールス 山崎氏
当日の資料と解説はこちらから Windows Server 使い倒し塾 http://blogs.technet.com/windowsserverjp/archive/2010/02/27/3315768.aspx 右の写真は10年前の提案資料…懐かしい名前が見えます
当日の資料と解説はこちらから Windows Server 使い倒し塾 http://blogs.technet.com/windowsserverjp/archive/2010/02/27/3315768.aspx
右の写真は10年前の提案資料…懐かしい名前が見えます
■14:30 3つ目 「グループポリシー よくある質問」 ADサポートチーム 北川氏 & 渡會(とごう)氏
※写真を捜索中…田辺さーん or 高添さーん BLOGはこちら Ask the Network & AD Support Team
※写真を捜索中…田辺さーん or 高添さーん
BLOGはこちら Ask the Network & AD Support Team
■15:15 4つ目 「ADトラブル解決のツボ」 ADSI/ILM サポートチーム 渡辺氏
訳あって当日のセッション資料はお見せできません…(笑)
版権クリア版資料と当日の補足はこちら [Info] “Tech Fielders の集い 特別編 おかげさまで Active Directory 10 周年” (2) ADSI チームセッション内容 Ver 1.0 [閑話休題] “Tech Fielders の集い 特別編 - おかげさまで Active Directory 10 周年” に参加しました!ver 1.0 (1)
版権クリア版資料と当日の補足はこちら
■16:00 パネルディスカッション
横山さん、小鮒さん、国井さん、吉田さん、竹島さんによる「AD10年の振り返りとこれから」 ※写真を捜索中! たなべさーん!
横山さん、小鮒さん、国井さん、吉田さん、竹島さんによる「AD10年の振り返りとこれから」
※写真を捜索中! たなべさーん!
■17:00 Active Directory PM 岡本からのお知らせ
※写真を捜索中! たなべさーん! Active Dirctory 製品ページでキャンペーン実施中! http://www.microsoft.com/japan/windowsserver2008/r2/technologies/campaign/ad-10th/default.mspx
Active Dirctory 製品ページでキャンペーン実施中! http://www.microsoft.com/japan/windowsserver2008/r2/technologies/campaign/ad-10th/default.mspx
■17:30 懇親会!
これが噂のADケーキ!ケーキ入刀は竹島さんと横山さん(2010/3/3 0:18 追加)。 懇親会参加者が多い!飲み物はあっという間になくなり…。それでも話は弾む。
これが噂のADケーキ!ケーキ入刀は竹島さんと横山さん(2010/3/3 0:18 追加)。
懇親会参加者が多い!飲み物はあっという間になくなり…。それでも話は弾む。
最後に10年後の再開を約束して記念写真!
■19:00 完全にお開き
当日の詳しい様子は参加者の皆さんが報告してくれています。以下をご覧ください! ※随時追加していきますので、書かれた方はお知らせください!
Office 2010 のリリースが近づいてまいりました。Office といえば Excel。Excel といえば、PowerPivot。
これからの BI 生活に欠かせない PowerPivotをいち早く理解するためのクイズに挑戦しましょう。
【Q1】1984年、最初に開発された EXCEL はどのプラットフォーム向け?
【Q2】Excel 2010 の一番最後のカラム名は?
【Q3】Excel 2010(2007)で新しい行を挿入するためのショートカットは?
【Q4】次の中で Excel 2010 の新機能と関係のないものは?
【Q5】PowerPivot を使用するとどれくらいの行が使える?
【Q6】Excel の ロゴデザインに使われている文字は?
【Q7】PowerPivot の機能の1つで、EXCEL上のテーブルを PowerPivot テーブルとして取込み、テーブルが更新されると自動的にPowerPivotも更新される機能をなんという?
【Q8】Excelは何ができるようになった最初のスプレッドシートか?
いかがでしょう?みなさん、わかりました?
答えは、以下のページで答えを入力するとみられます!見事「EXCELERATOR」の称号が与えられることを祈っています。
Click!
「イベントログを PowerPivot に読み込んで分析」シリーズです。
今回は EXCEL を使用して分析軸の作成を行います。
前回の話の流れから、以下のシナリオで考えてみます。
シナリオ:時間帯およびサーバーごと、およびサービスごとのエラーの傾向を分析したい ■メジャー(尺度) :エラーの数 ■ディメンジョン(軸) :日時、イベントタイプ、サーバー名、サービス
シナリオ:時間帯およびサーバーごと、およびサービスごとのエラーの傾向を分析したい
さっそく、分析軸を作成しましょう…といっても大した作業ではありません。単にEXCELのシートを作成するだけです。ここで作成した分析軸を、あとでPowerPivotに読み込みます。
■日時ディメンジョンの作成
日時ディメンジョンは、イベントの時間的な推移をみるうえでも重要ですし、異なる種類のイベント同志、異なるサーバー間のイベント同志を関係づける際にも重要な軸となります。以下の図を見てください。時間軸が用意されているからこそ、サーバーAとサーバーBそれぞれで発生しているイベントの密度に「同じ時間帯」という関係性を見出すことができます。 パフォーマンスログがとられていれば、以下のようにパフォーマンスとイベント発生の密度の関係を把握することも可能です。 ということで時間軸を作るわけですが、事前に軸の粒度を決めておく必要があります。1秒単位の軸なのか、1分単位なのか、はたまた1時間単位なのか…。これによって分析の粒度が変わってきます。 イベントログを分析する場合、秒単位ほどの細かさは必要ないでしょう。よって、今回は分単位とします。 作成する時間軸の範囲は 2009年12月1日 から 2010年11月30日 の 1年間とします。 ※ 軸を作成するのは Excel 2010である必要はありませんが、ここでは2010を使用します Excel を起動して、適当なシートを開いてください。 はじめに、シートの名前を「時間軸」に変更しておきましょう。 次に、以下のようにシートの1行目に起点となる「2010/12/1 0:00」を入力してください。 これ以降、2010年11月30日 23:59 まで1分単位の値を手で入力するわけにはいかないので、Excel の素晴らしい機能である「フィル」を使用します。以下(左図)のように「フィル」メニューから [連続データの作成] を選択してください。 [連続データ]ダイアログが表示されたら、以下(右図)のように設定します。これは、 選択されたセルを基準にして、列方向に 1分(0:01)単位で2010/11/30 23:59 になるまで加算 を意味しています。 [OK]をクリックしてください。以下のように2010年11月30日 23時59分まで1分単位にセルが生成されるはずです。 ここで最終行の行番号に注目してください。525600 です。EXCEL の最大行数は104万行なので、1分単位で時間軸を持つと、2年分しか確保できないことがわかります。これ以上の期間を1分単位で確保する場合には、Excel は使用することができませんので、SQL Server など100万行のテーブルを扱うことができるソフトウェアを使用しなければなりません。 ひとまずこれで、1年分の時間軸を作成できました。 手順さえ知っていれば1分程度の作業ですね。 ここで、「1日単位でいいんだけどな」と思った方がいらしたら安心してください。PowerPivot に読み込んだ後で「計算列」という機能を使用して調整することができます。
日時ディメンジョンは、イベントの時間的な推移をみるうえでも重要ですし、異なる種類のイベント同志、異なるサーバー間のイベント同志を関係づける際にも重要な軸となります。以下の図を見てください。時間軸が用意されているからこそ、サーバーAとサーバーBそれぞれで発生しているイベントの密度に「同じ時間帯」という関係性を見出すことができます。
パフォーマンスログがとられていれば、以下のようにパフォーマンスとイベント発生の密度の関係を把握することも可能です。
ということで時間軸を作るわけですが、事前に軸の粒度を決めておく必要があります。1秒単位の軸なのか、1分単位なのか、はたまた1時間単位なのか…。これによって分析の粒度が変わってきます。
イベントログを分析する場合、秒単位ほどの細かさは必要ないでしょう。よって、今回は分単位とします。
作成する時間軸の範囲は 2009年12月1日 から 2010年11月30日 の 1年間とします。
※ 軸を作成するのは Excel 2010である必要はありませんが、ここでは2010を使用します
Excel を起動して、適当なシートを開いてください。
はじめに、シートの名前を「時間軸」に変更しておきましょう。
次に、以下のようにシートの1行目に起点となる「2010/12/1 0:00」を入力してください。
これ以降、2010年11月30日 23:59 まで1分単位の値を手で入力するわけにはいかないので、Excel の素晴らしい機能である「フィル」を使用します。以下(左図)のように「フィル」メニューから [連続データの作成] を選択してください。
[連続データ]ダイアログが表示されたら、以下(右図)のように設定します。これは、
を意味しています。
[OK]をクリックしてください。以下のように2010年11月30日 23時59分まで1分単位にセルが生成されるはずです。
ここで最終行の行番号に注目してください。525600 です。EXCEL の最大行数は104万行なので、1分単位で時間軸を持つと、2年分しか確保できないことがわかります。これ以上の期間を1分単位で確保する場合には、Excel は使用することができませんので、SQL Server など100万行のテーブルを扱うことができるソフトウェアを使用しなければなりません。
ひとまずこれで、1年分の時間軸を作成できました。
手順さえ知っていれば1分程度の作業ですね。
ここで、「1日単位でいいんだけどな」と思った方がいらしたら安心してください。PowerPivot に読み込んだ後で「計算列」という機能を使用して調整することができます。
■イベントタイプ ディメンジョンの作成
イベントタイプ軸は、その名の通り「イベントのタイプ」の一覧です。これを軸にすることで、それぞれのサーバーで発生しているイベントから「重大」や「エラー」で絞り込むことができます。 ここではなーんの技も必要ありません。タイプは6種類しかないので、以下のように手作業でシートを作成するだけです。シートの名前を「イベントタイプ軸」とでもしておきましょう。
イベントタイプ軸は、その名の通り「イベントのタイプ」の一覧です。これを軸にすることで、それぞれのサーバーで発生しているイベントから「重大」や「エラー」で絞り込むことができます。
ここではなーんの技も必要ありません。タイプは6種類しかないので、以下のように手作業でシートを作成するだけです。シートの名前を「イベントタイプ軸」とでもしておきましょう。
■サーバー名 ディメンジョンの作成
この軸を使用して、イベントをサーバー単位に絞り込むことができます。これも大したことないですよね。 以下のように、分析の対象となるコンピューターが少ない場合には手作業で入力してもよいですし、たとえサーバー名が多くてもコンピュータリストは存在しているはずです!ないはずがありません。
この軸を使用して、イベントをサーバー単位に絞り込むことができます。これも大したことないですよね。
以下のように、分析の対象となるコンピューターが少ない場合には手作業で入力してもよいですし、たとえサーバー名が多くてもコンピュータリストは存在しているはずです!ないはずがありません。
ただし、コツがあります。 イベントログのコンピュータ名にはFQDN名が入ってきますので、FQDN名で用意したほうがよいでしょう。ただ、分析時にはFQDN名は長すぎて邪魔なんですよねぇ。なのでコンピュータ名のカラムも用意しておくとよいです。 シートの名前は「サーバー名軸」とでもしておきましょう。
ただし、コツがあります。
イベントログのコンピュータ名にはFQDN名が入ってきますので、FQDN名で用意したほうがよいでしょう。ただ、分析時にはFQDN名は長すぎて邪魔なんですよねぇ。なのでコンピュータ名のカラムも用意しておくとよいです。
シートの名前は「サーバー名軸」とでもしておきましょう。
■サービス名 ディメンジョン
ここでいうサービス名とは、イベントのソースです。どのサービス(ソース)がエラーを出しているかを把握することが問題解決の第一歩ですから、軸として当然必要です。 ただ、残念ながら全ての「ソース」を事前に用意しておくことは事実上難しいので、イベントログに保存されているソースを随時使用することにしましょう。
ここでいうサービス名とは、イベントのソースです。どのサービス(ソース)がエラーを出しているかを把握することが問題解決の第一歩ですから、軸として当然必要です。
ただ、残念ながら全ての「ソース」を事前に用意しておくことは事実上難しいので、イベントログに保存されているソースを随時使用することにしましょう。
以上で分析軸の作成が終わりました。
作成したEXCELのブックは、dimension.xlsx などというファイル名で保存しておきましょう。
次回はPowerPivotを起動してイベントログと分析軸を PowerPivot に読み込みます。
「イベントログを PowerPivot に読み込んで分析」シリーズです。 ※ SSASと併用したデータマイニング については別の機会に..ということでご了承ください
Business Intelligence という言葉から、BIに関連する機能って「なんか人口知能のようなもの」をイメージしてしまう方もいらっしゃると思います。え?いません!? じ、実は、何を隠そう、私がそうです(恥ずかしい….)。
ということで、今回は「分析の考え方」についてズブの素人なりに説明してみたいと思います。
分析を実行するには、はじめに「何を分析したいのか?」をざっくりと洗い出しておく必要があります。具体的に言えば、分析のための「メジャー(尺度)」と「ディメンジョン(軸)」が明確になっていないと分析に着手することができません。
メジャー(尺度)とは、分析したい数字です。イベントログであれば「イベントの数」が該当するでしょう。
もちろん、「イベントの数」といっても、単なる総数では意味がありません。「いつ発生した」「どのサーバーの」「どんなサービスが出した」イベントの数であるかを明確にすることで、はじめて分析が行えます。具体的には、例えば「3月1日から3月10日のあいだの、DNSに関連したエラー」の数 などです。
この「いつ」や「どの」、「どんな」に相当するのがディメンジョン(軸)です。
メジャーが「売上」であれば、ディメンジョンは「店舗」「商品名」「地域」「日時」「値引き額」などでしょう。
恥の上塗りになるので言いたかありませんが、「ディメンジョン」と聞いて「中学校で習ったXYZ軸」を思い浮かべてしまうと、かえって混乱します。だって、店舗、商品名、地域、日時、値引き額 で既に5次元ですから、立体を頭に思い浮かべようとするとワケが分からなくなります。わたしゃ馬鹿なので、その呪縛から抜け出すために相当な時間がかかりました…ほんとに恥ずかしい話です。だからいまだに Newton とか読めないんですよね…。
話を戻しまして。
イベントログの分析であれば、求められるのは以下のような結果かと思います。 ※ 本当は、ここにパフォーマンスログを重ね合わせたいところですが、ひとまず今回はイベントログだけを見ていきます。
例えば「時間帯およびサーバーごと、およびサービスごとのエラーの傾向」を分析したいと考えた場合には、メジャーとディメンジョンは以下のようになるでしょう。
ここに「サーバーのメンテナンススケジュール」などを組み合わせられると、SEの夜間作業の正当性を主張する際のネタにもなりますね。
メジャーとディメンジョンがざっくり決まったら、必要なデータを準備します。
メジャーとなる「エラーの数」は、イベントログが格納されているテーブルを集計することで取ってこられますから、事前に準備する必要はありません。
では、ディメンジョンはどうでしょうか?
これらもイベントログのテーブルに入ってはいます…が、はたしてそれは ディメンジョン として使用できるのかどうか?これは考えどころです。
ディメンジョンとは「軸」です。軸は絶対的な値でなければなりません。なんせ「軸」ですから。
イベントログのテーブルに「サーバー名」としてServer1、Server2、Server3 が入っていたとしましょう。分析対象のサーバーがこの3つだけならば、何とかなることも多いでしょう。では、Server4 について分析したい場合にはどうしましょう? 「Server4 に関するログが無いってことは分析の必要が無い」と判断するのもアリですが、たとえそうだとしても、分析結果には「Server4のイベントが0である」ことを可視化したいですよね。
時間についても同じです。2010/3/1 12:15 に発生したエラーはあるけど、2010/3/1 12:16 に発生したエラーは無いかも知れません。だとすれば、「2010/3/1 12:16 のエラーは0」であることを明に示したいはずです。
このようにデータとして存在しない場合でも、分析結果として可視化する必要があり、そのためには分析の「軸」であるディメンジョンをきちんと用意しておく必要があります。
話が少しそれますが、分析に必要なメジャーやディメンジョンは、時と場合、または人によって異なるはずです。こう言ってはなんですが、気分によっても違うでしょう。その都度、分析用のデータベースを作り直したり、ディメンジョンを変更したりといった作業を IT部門にお願いして準備してもらうといったプロセスでは、「そのときの、分析に対する熱い想い」が冷めてしまいます。IT部門だって、ちょっとイヤかもしれません。
PowerPivot のよいところは、分析を実行する人が、自らデータを準備できる点です。例えば、「時間帯ごとの値引き額」というディメンジョンに相当するテーブルが SQL Server に用意されていなくても、手元の EXCEL に保存されていれば、手元の EXCELファイルを直接 PowerPivot に読み込んで分析を開始することができます。自分で「あ、こんなディメンジョンがあったら、あんな分析ができるかも!」と思ったら、即対処できます。これはうれしいですよね。
ということで、次回は Excel を使用してディメンジョンを作ります。
BI (Business Intelligence) と聞いて、システム管理者の方々はどのような印象を持たれますか? 「訳がわからん!」というのが正直なところではないかと思います。データベースの管理やチューニングは得意でも、BI となると一気に腰が引けてしまう...そんなエンジニアは多いはずです。実を言えば、私もそうです。 軽視されがちですが、以前から SQL Server には BI をサポートする機能が実装されています。
PowerPivot for EXCEL 2010 で作成したブックは、そのままメールの添付ファイル等で流通させることが可能です。ただし、ブックには一切の分析用ソースが含まれているため、そのまま流通させることに躊躇してしまうはずです。正しい分析結果を維持するためには、データの改ざんも防止しなければなりません。 また、Excel 2010 を全員がインストールしているかどうかという不安もあるでしょう。 このようなセキュリティや情報共有の問題を解消してくれるのが、PowerPivot for SharePoint 2010 です。そういう意味では、「組織的な展開を前提とするのであれば PowerPivot for Excel 2010 と PowerPivot for SharePoint 2010 はセットの機能である」と考えていただいたほうが良いでしょう。 PowerPivot for SharePoint 2010 が SharePoint 2010上 にインストールされると、SharePoint Server の Excelサービスに PowerPivot エンジンが組み込まれます(実際には、バックエンドの SQL Server Analysis Services との連携機能が実装されます)。これにより、PowerPivot for Excel 2010 で��成したブックはSharePoint Server 2010 上で実行可能となります。 PowerPivot for SharePoint Server 2010 上で実行される Excelシートは、Internet Explorer で参照することができます。もちろん、Internet Explorer 上か らスライサーを操作することができますから、必要な分析結果に絞り込んで参照することができます。 右の図は 「PowerPivot ギャラリー」と呼ばれる Silverlightベースのライブラリ機能です。これにより、アップロードされたブックを、シート単位にプレビューすることができるため、どのような分析結果を参照できるのかをいちいち開いて確認する必要がありません。PowerPivot の核となる機能ではありませんが、利用者にとってとても便利な機能でしょう。 そして、当たり前すぎるので詳しくは触れませんが、SharePoint Server が持つアクセス権管理機能を使用して、参照、編集などを厳密に管理することができます。
PowerPivot for SharePoint 2010 が SharePoint 2010上 にインストールされると、SharePoint Server の Excelサービスに PowerPivot エンジンが組み込まれます(実際には、バックエンドの SQL Server Analysis Services との連携機能が実装されます)。これにより、PowerPivot for Excel 2010 で��成したブックはSharePoint Server 2010 上で実行可能となります。
2010年3月26日に実施したセミナーでは、SSIS を使用してイベントログを SQL Server に取込み、これを PowerPivot for Excel 2010 に読み込んで分析する方法について解説しました。
SSIS を使用して イベントログを SQL Server に取り込む仕組みの構築手順については以下の資料に掲載されておりますのでご覧ください。
ここではSQL Serverに取り込んだデータを PowerPivot に読み込み、分析レポートを作成する方法について、その手順を解説します。
PowerPivot を使用して分析を行うには、以下の手順を踏みます。
それぞれの手順について、次回の投稿にて解説してまいりますのでお待ちください。
みなさん、こんにちは。SQL Server 2008 R2 のリリースまで残すところ 40 日あまり。いやーテンションが上がりまくりですね!
さて、3月26日、マイクロソフトの新宿オフィスにて、SQL Server のセミナーと Bloggers Meeting を開催いたします。年度末で忙しいと思いますが、是非ともご参加ください。
以下の内容を予定しております。
※それぞれ個別のお申し込みが必要となりますのでご注意ください
■BI を用いたログ管理(取込みから分析まで)~SQL Server 2008 R2 編 (1月29日実施内容と同様です)
13:30~19:00(懇親会含む)(受付開始 13:00)
お申込みサイト http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032443007&Culture=ja-JP 2010年5月1日にリリースが決定した SQL Server 2008 R2 を用いたイベントログの取込みと分析手法について解説します。特に、SSIS については詳しく解説しますので、データの取り込み手法に興味のある方は是非ともご参加ください。 SQL Server Integration Service(SSIS) の基本的な使用方法 SQL Server Integration Service を使用したイベントログの取り込み方法 SQL Server Integration Service を使用した SQL Azure とのデータ同期方法 PowerPivot for EXCEL 2010 の基本的な使い方 PowerPivot for EXCEL 2010 を使用したイベントログの分析手法 参考資料 SQL Server 2008 R2 勉強会キット ※当日はこちらに掲載されている資料をベースに解説いたします
お申込みサイト http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032443007&Culture=ja-JP
2010年5月1日にリリースが決定した SQL Server 2008 R2 を用いたイベントログの取込みと分析手法について解説します。特に、SSIS については詳しく解説しますので、データの取り込み手法に興味のある方は是非ともご参加ください。
参考資料 SQL Server 2008 R2 勉強会キット ※当日はこちらに掲載されている資料をベースに解説いたします
■第2回 SQL Server & SQL Azure Bloggers Meeting
19:30~20:30 (受付開始 19:00) お申込みサイト http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032446283&Culture=ja-JP 5月1日にリリースされる SQL Server 2008 R2 の新しい価格体系と新機能のトピック、デモンストレーションをお送りします。 日中は時間が無いけど、夕方以降ならば大丈夫という方は、是非ともこちらにご参加ください! ※ Bloggers Meeting とはブログやTwitterアカウントをお持ちの方を対象に、いち早く最新情報をお知らせするためのイベントです。この機会にブログを開設しよう!Twitterアカウントを作成しよう!という方もご遠慮なくご参加ください。
19:30~20:30 (受付開始 19:00)
お申込みサイト http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032446283&Culture=ja-JP
5月1日にリリースされる SQL Server 2008 R2 の新しい価格体系と新機能のトピック、デモンストレーションをお送りします。
日中は時間が無いけど、夕方以降ならば大丈夫という方は、是非ともこちらにご参加ください!
※ Bloggers Meeting とはブログやTwitterアカウントをお持ちの方を対象に、いち早く最新情報をお知らせするためのイベントです。この機会にブログを開設しよう!Twitterアカウントを作成しよう!という方もご遠慮なくご参加ください。
年度末は SQL Server でしめましょう!
お待ちしております!