データ分析のサンプル

メモ :

このサンプル コードは Microsoft Office Excel 2007 でのみ動作します。

このサンプルは、Microsoft Office Excel 2007 のツール バー ボタンおよびメニューを使用して実行されるデータ分析のタスクを示します。データは XML ファイルに格納されます。

さらに、サンプルは完全にローカライズできます。そのため、System.Resources.ResourceManager およびマネージ リソース (RESX) ファイルの利用方法も示します。コードは、以前のバージョンの Visual Studio Tools for Office で必要であったカルチャ切り替え手法を使用してグローバル化されるように記述されています。この手法は、Excel での Visual Studio Tools for Office の動作が後から変更されたため、必要なくなりました。詳細については、「Office ソリューションのグローバリゼーションとローカリゼーション」、「さまざまな地域設定を使用した Excel のデータの書式設定」、および「方法 : リフレクションを使用して Excel 内のリテラル文字列を領域保護する」を参照してください。

メモ :

地域設定が英語 (U.S.) 以外の Windows で英語バージョンの Office が実行されている場合、このサンプルは実行されません。

このサンプルは、架空のアイスクリーム店のための単純な在庫管理ツールです。このブックには、売上、在庫、売れた製品を追跡するシステムがあります。そのそれぞれのシステムでデータが XML ファイルに格納されます。

この店では、在庫に関して次の制約があります。

  • 在庫のキャパシティはアイスクリーム 300 個までです。

  • 注文したアイスクリームは毎週 1 回、朝届きます。

  • 注文は納品予定日の少なくとも 2 日前に行う必要があります。スケジュールでは、火曜日に注文して木曜日に受け取ることになっています。

  • 通常の納品スケジュール以外に在庫を補充する必要がある場合は、注文に対し 25 個の追加費用が発生します。

セキュリティに関するメモ :

このサンプル コードは概念を示すことが目的であり、その概念に関連する部分だけを示しています。このコードは実行環境のセキュリティ要件を満たしていない可能性があり、このままの状態で使用することはできません。セキュリティ関連のコードやエラー処理コードを追加し、プロジェクトのセキュリティと堅牢性を高めることをお勧めします。Microsoft は、このサンプル コードを "現状のまま" 提供しており、一切保証しません。

サンプル プロジェクトをコンピュータにインストールする方法については、「方法 : ヘルプにあるサンプル ファイルをインストールして使用する」を参照してください。

Download sample

このサンプルを実行するには

  1. F5 キーを押します。

    ブックで [Inventory] ワークシートが開かれます。このワークシートには、平均日次売上と平均日次利益をフレーバーごとに表すピボット テーブル、および前日の売上データを示す ListObject コントロールが表示されます。"Menu Commands" というグループと、"Custom Toolbars" というグループが、リボンの [アドイン] タブに追加されていることに注目してください。Menu Commands グループには [Orders] メニューが追加され、Custom Toolbars グループには 2 つのメニュー項目に対応する 2 つのボタンが追加されています。

  2. Calendar コントロールで別の日付を選択して、過去の売上データを表示します。データ ソース内のデータの最新の日付を選択すると、さらに 2 つの列 ([Estimated Inventory] および [Recommendation]) が表示されます。

  3. [Add New Date] をクリックし、新しい日付のデータを追加します。

    ListObject コントロールはクリアされるので、その日の最後の値をフレーバーごとに入力できます。アイスクリームのフレーバーごとに現在の在庫を入力すると、[Estimated Inventory] 列に、週末までに予測される不足数や過剰数が表示されます。[Recommendation] 列に、スケジュール外の注文を行う方がよいかどうかが表示されます。操作ウィンドウには、在庫が多い項目と少ない項目のリストが表示されます。

  4. [データの保存] をクリックし、変更を保存します。

  5. 操作ウィンドウのリストの 1 つで、アイスクリームのフレーバーを 1 つクリックします。

    [Details] ワークシートに過去の売上データおよびそのフレーバーの傾向表が表示されます。

  6. スケジュール外の注文が推奨されている場合、[作成] をクリックしてどのフレーバーをどれだけ注文するかを決めます。

  7. "Unscheduled Order_<Date>" という新しいワークシートがブックに追加されます。このワークシートでは、週の終わりまでにアイスクリームが不足しないようにするにはどれだけ注文したらよいか、フレーバーごとに数が見積もられます。

  8. [Orders] メニューの [Create Weekly Order] をクリックして週の注文を作成します。

    前 2 週間分の売上情報が XML ファイルから読み込まれ、平均日次売上が算出され、標準偏差分布が割り出されます。標準偏差 の 2 倍に平均日次売上に加えた後、日数 7 を掛けて将来の売上の見積もりが計算されます。この値に基づいて注文した場合、この注文数がその週の予想売上をカバーする確率は 95.4% になります。

    "Weekly Order_<Date>" という新しいワークシートがブックに追加されます。<Date> は、予定注文日を示します。

使用例

このサンプルでは次のタスクを例示します。

  • XML ファイルからのデータの読み込み

  • メニューとツール バーのカスタマイズ

  • Excel の組み込み関数を使用したデータ分析

  • XML ファイルのデータにリンクするピボット テーブルの作成

  • XML データの Excel リスト コントロールへのバインド

  • グラフの作成

  • ユーザー インターフェイスのレイアウトと文字列をローカライズするための準備

参照

概念

Office ソリューションのグローバリゼーションとローカリゼーション

ドキュメント レベルのサンプル

Office ソリューションにおけるデータ

ホスト項目とホスト コントロールの概要

Office 開発のチュートリアル