スキップしてメイン コンテンツへ
Office

PowerPivot の数式を再計算する

PowerPivotでデータを操作しているときに、必要に応じて、ソースからデータを更新し、集計列で作成した数式を再計算するか、ピボットテーブルに表示されるデータが常に最新の状態になるようにします。

このトピックでは、データの更新と再計算の方法の違いについて説明し、再計算のトリガー方法の概要と、再計算の制御に関するオプションについて説明します。

データ更新と再計算について

PowerPivot は、データの更新と再計算の両方を使用します。

データ更新とは、外部データソースから最新のデータを取得することです。 PowerPivot は外部データソースの変更を自動的に検出しませんが、SharePoint でブックが共有されている場合は、 PowerPivot ウィンドウから手動で、または自動的にデータを更新することができます。

計算とは、数式を含むブック内のすべての列、テーブル、グラフ、ピボットテーブルを更新することを意味します。 数式を再計算するとパフォーマンスが低下するため、各計算に関連する依存関係について理解することが重要です。

重要:  ブック内の数式が再計算されるまでは、ブックを保存または発行しないでください。

手動再計算と自動再計算

既定では、処理に必要な時間を最適化するために、必要に応じて PowerPivot 自動的に再計算されます。 再計算には時間がかかる場合がありますが、再計算中は列の依存関係をチェックし、列が変更された場合や、データが無効である場合、または作業に使用した数式でエラーが表示された場合に通知が表示されるようにする必要があります。 ただし特に、複雑な数式や非常に大きなデータセットを操作していて、更新のタイミングを制御したい場合は、検証を先送りして、計算を手動で更新することもできます。

手動と自動のどちらのモードにも利点があります。ただし、自動再計算モードを使うことを強くお勧めします。 このモードでは、 PowerPivotのメタデータが同期されているため、データの削除、名前やデータ型の変更、依存関係の欠落などの問題が発生しません。 

自動再計算の使用

自動再計算モードを使用している場合、数式の結果を変更すると、数式が含まれている列全体の再計算がトリガーされます。 次の変更には、常に数式の再計算が必要です。

  • 外部データソースからの値が更新されました。

  • 数式の定義が変更されました。

  • 数式で参照されているテーブルまたは列の名前が変更されています。

  • テーブル間のリレーションシップが追加、変更、または削除された。

  • 新しいメジャーまたは計算列が追加されました。

  • ブック内の他の数式に対する変更が行われたため、その計算に依存する列または計算を更新する必要があります。

  • 行が挿入または削除されました。

  • クエリを実行してデータセットを更新する必要があるフィルターを適用しました。 フィルターは、数式またはピボットテーブルまたはピボットグラフの一部として適用されている可能性があります。

手動再計算の使用

手動再計算を使用して、準備が整うまで数式の結果を計算するためのコストを回避することができます。 手動モードは、次のような場合に特に便利です。

  • テンプレートを使用して数式を設計していますが、検証する前に、数式で使用される列とテーブルの名前を変更します。

  • ブック内の一部のデータが変更されているが、変更されていない別の列を操作しているため、再計算を延期する必要があることがわかっている。

  • 複数の依存関係を持つブックを操作していて、必要な変更がすべて完了するまで再計算を延期したい。

ブックが手動計算モードに設定されている場合は、 Power Pivot in Microsoft Excel 2013 では数式の検証やチェックは一切実行されず、次のような結果が表示されることに注意してください。

  • ブックに追加した新しい数式には、エラーが含まれていることを示すフラグが付けられます。

  • 新しい計算列に結果が表示されません。

手動再計算用にブックを構成するには

  1. PowerPivotで、 [> 計算デザイン] をクリックし>計算方法>手動計算モードます。

  2. すべてのテーブルを再計算するには、[計算方法の設定]> クリックします。

    ブック内の数式にエラーがあるかどうかがチェックされ、結果がある場合はテーブルも更新されます。 データの量と計算の数によっては、ブックがしばらく応答しなくなることがあります。

重要:  ブックを発行する前に、常に計算モードを自動に変更する必要があります。 これにより、数式を設計するときの問題を回避することができます。

再計算のトラブルシューティング

列が別の列に依存していて、その他の列の内容が何らかの方法で変更されている場合、すべての関連列の再計算が必要になることがあります。 PowerPivot ブックに変更が加えられた場合、 Power Pivot in Microsoft Excel 2013 は既存の PowerPivotデータの分析を実行して、再計算が必要かどうかを判断し、最も効率的な方法で更新を実行します。

たとえば、テーブル、 Productproductcategory カテゴリに関連するSalesというテーブルがあるとします。売上テーブルの数式は、他の2つのテーブルによって異なります。 Productカテゴリテーブルまたはproductcategoryテーブルを変更すると、 Salesテーブルのすべての計算列が再計算されます。 これは、カテゴリまたは製品別に売上をロールアップする式が存在する可能性があると考えると、意味があります。 したがって、結果が正しいことを確認します。データに基づく数式を再計算する必要があります。

PowerPivot は、変更された値を確認するよりも完全な再計算がより効率的であるため、常にテーブルの完全な再計算を実行します。 再計算をトリガーする変更には、列の削除、列の数値データ型の変更、新しい列の追加などの主な変更が含まれている場合があります。 ただし、列の名前を変更するなど、非常に簡単な変更でも再計算が実行されることがあります。 これは、列名が数式で識別子として使用されるためです。

場合によっては、 PowerPivot で列を再計算から除外できると判断されることがあります。 たとえば、 Productsテーブルから[Product Color]などの値を参照する数式を使用していて、変更された列が売上テーブルの[数量]である場合、テーブルの売上製品が関連している場合でも、数式を再計算する必要はありません。 ただし、売上 [数量]に依存する数式がある場合は、再計算が必要になります。

依存列の再計算の順序

依存関係は、再計算の前に計算されます。 相互に依存する複数の列がある場合は、依存関係の順序に従って PowerPivot ます。 これにより、最大速度で列が正しい順序で処理されるようになります。

取り引き

データを再計算または更新する操作は、トランザクションとして行われます。 これは、更新操作の一部が失敗した場合、残りの操作がロールバックされることを意味します。 これは、データが部分的に処理された状態で残っていないことを確認するためです。 リレーショナルデータベースの場合と同様に、トランザクションを管理することも、チェックポイントを作成することもできません。

揮発性関数の再計算

NOW、RAND、TODAY などの一部の関数には、固定値はありません。 パフォーマンスの問題を回避するために、クエリまたはフィルター処理を実行しても、計算列で使用されている場合は通常、このような関数が再評価されることはありません。 これらの関数の結果は、列全体が再計算されるときにのみ再計算されます。 このような状況には、外部データソースからの更新、またはこれらの関数を含む数式の再評価を行うデータの手動編集が含まれます。 ただし、NOW、RAND、TODAY などの揮発性関数は、計算フィールドの定義で使用されている場合は常に再計算されます。

注:  このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 情報が役に立ったかどうか、ご意見をお寄せください。 参考までに、こちらから英語の記事をお読みいただけます。

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×