ExcelDAX-データモデルのデータの更新

DAXは、Excel PowerPivotのデータモデルのデータの計算に使用されます。DAXを使用すると、データのモデリングとレポートのアクティビティを効果的に処理できます。ただし、これには、現在のデータを反映するために、データモデルのデータを随時更新する必要があります。

データ接続を確立することにより、外部データソースからワークブックのデータモデルにデータをインポートできます。いつでもソースからデータを更新できます。このオプションは、ライブ販売情報または1日に数回更新されるデータフィードを含むリレーショナルデータベースからデータを取得する場合に便利です。

データモデルのデータを更新するさまざまな方法

データモデルのデータは、次の方法で更新できます-

  • データモデルのデータを随時更新します。
  • 接続プロパティなどのデータソースに変更を加える。
  • ソースデータが変更された後、データモデルのデータを更新します。
  • データをフィルタリングして、データソースのテーブルから行を選択的にロードします。

データモデルのデータを更新する

既存のソースから更新されたデータを取得することに加えて、ソースデータのスキーマに変更を加えるたびに、ブック内のデータを更新する必要があります。これらの変更には、列またはテーブルの追加、またはインポートされる行の変更が含まれる場合があります。

データの追加、データの変更、またはフィルターの編集は、常にそのデータソースに依存するDAX式の再計算をトリガーすることに注意してください。詳細については、「DAX式の再計算」の章を参照してください。

データモデルには2種類のデータ更新があります-

手動更新

手動更新オプションを選択した場合、データモデルのデータをいつでも手動で更新できます。デフォルトであるすべてのデータを更新することも、個々のデータソースに対して更新するテーブルと列を手動で選択することもできます。

自動またはスケジュールされた更新

ブックをPowerPivotをサポートするPowerPivotギャラリーまたはSharePointサイトに公開している場合、ユーザーまたはSharePoint管理者は、ブック内のデータを自動的に更新するためのスケジュールを作成できます。このような場合、サーバー上で無人データの更新をスケジュールできます。

既存のデータソースを手動で更新する

既存のデータソースからデータを更新する必要がある場合、または新しいDAX数式を設計するために最新のデータを取得する必要がある場合は、いつでも手動でデータを更新できます。単一のテーブル、同じデータ接続を共有するすべてのテーブル、またはデータモデル内のすべてのテーブルを更新できます。

SQL ServerやOracleなどのリレーショナルデータソースからデータをインポートした場合は、1回の操作ですべての関連テーブルを更新できます。新しいデータまたは更新されたデータをデータモデルにロードする操作は、多くの場合、DAX式の再計算をトリガーしますが、どちらも完了するまでに時間がかかる場合があります。したがって、データソースを変更したり、データソースから取得したデータを更新したりする前に、潜在的な影響に注意する必要があります。

データモデル内の単一のテーブルまたはすべてのテーブルのデータを更新するには、次の手順を実行します。

  • PowerPivotウィンドウのリボンの[ホーム]タブをクリックします。
  • [更新]をクリックします。
  • ドロップダウンリストで[更新]をクリックして、選択したテーブルを更新します。
  • すべてのテーブルを更新するには、ドロップダウンリストで[すべて更新]をクリックします。

データモデルで同じ接続を使用するすべてのテーブルのデータを更新するには、次の手順を実行します。

  • PowerPivotウィンドウのリボンの[ホーム]タブをクリックします。
  • [外部データの取得]グループの[既存の接続]をクリックします。

[既存の接続]ダイアログボックスが表示されます。

  • 接続を選択します。
  • [更新]ボタンをクリックします。

PowerPivotエンジンが選択したテーブルまたはデータソースのすべてのテーブルからデータを再読み込みすると、[データの更新]ダイアログボックスが表示され、データの更新の進行状況情報が表示されます。

3つの可能な結果があります-

  • Success −各テーブルにインポートされた行数をレポートします。

  • Error−データベースがオフラインで、権限がなくなった場合、エラーが発生する可能性があります。ソースでテーブルまたは列が削除されるか、名前が変更されます。

  • Cancelled −これは、おそらく接続で更新が無効になっているために、Excelが更新要求を発行しなかったことを意味します。

[閉じる]ボタンをクリックします。

データソースの変更

データモデルのデータを変更するには、接続情報を編集するか、PowerPivotウィンドウでデータモデルで使用されるテーブルと列の定義を更新します。

既存のデータソースに次の変更を加えることができます-

接続

  • データベース名またはサーバー名を編集します。
  • ソーステキストファイル、スプレッドシート、またはデータフィードの名前を変更します。
  • データソースの場所を変更します。
  • リレーショナルデータソースの場合は、デフォルトのカタログまたは初期カタログを変更します。
  • データへのアクセスに使用する認証方法または資格情報を変更します。
  • データソースの詳細プロパティを編集します。

テーブル

  • データにフィルターを追加または削除します。
  • フィルタ条件を変更します。
  • テーブルを追加または削除します。
  • テーブル名を変更します。
  • データソースのテーブルとデータモデルのテーブルの間のマッピングを編集します。
  • データソースから別の列を選択します。

  • 列名を変更します。
  • 新しい列を追加します。
  • データモデルから列を削除します(データソースには影響しません)。

次の方法で既存のデータソースのプロパティを編集できます-

  • ソースとして使用されるファイル、フィード、データベース、そのプロパティ、その他のプロバイダー固有の接続オプションなど、接続情報を変更できます。

  • テーブルと列のマッピングを変更し、使用されなくなった列への参照を削除できます。

  • 外部データソースから取得するテーブル、ビュー、または列を変更できます。

既存のデータソースへの接続の変更

現在の接続で使用されている外部データソースを変更することにより、作成した外部データソースへの接続を変更できます。ただし、従う手順はデータソースの種類によって異なります。

  • PowerPivotウィンドウのリボンの[ホーム]タブをクリックします。
  • [外部データの取得]グループの[既存の接続]をクリックします。

[既存の接続]ダイアログボックスが表示されます。変更する接続を選択します。

変更するデータソースの種類に応じて、プロバイダーが異なる場合があります。また、利用可能なプロパティの変更が必要になる場合があります。データを含むExcelブックへの接続の簡単な例を考えてみましょう。

  • [編集]ボタンをクリックします。[接続の編集]ダイアログボックスが表示されます。

  • [参照]ボタンをクリックして、同じタイプ(この例ではExcelブック)の名前または場所が異なる別のデータベースを見つけます。

  • [開く]ボタンをクリックします。

新しいファイルが選択されます。接続情報を変更したため、接続を確認するためにテーブルを保存および更新する必要があることを示すメッセージが表示されます。

  • [保存]ボタンをクリックします。[既存の接続]ダイアログボックスに戻ります。

  • [更新]ボタンをクリックします。データ更新ダイアログボックスが表示され、データ更新の進行状況が示されます。データ更新のステータスが表示されます。セクションを参照してください-Manually Refreshing an Existing Data Source 詳細については。

  • データの更新が成功したら、[閉じる]をクリックします。

  • [既存の接続]ダイアログボックスで[閉じる]をクリックします。

テーブルと列のマッピング(バインディング)の編集

データソースが変更されたときに列マッピングを編集するには、次のようにします。

  • Power Pivotウィンドウで、変更するテーブルが含まれているタブをクリックします。

  • リボンの[デザイン]タブをクリックします。

  • テーブルのプロパティをクリックします。

[テーブルプロパティの編集]ダイアログボックスが表示されます。

あなたは以下を観察することができます-

  • データモデルで選択したテーブルの名前が[テーブル名]ボックスに表示されます。

  • 外部データソース内の対応するテーブルの名前が[ソース名]ボックスに表示されます。

  • 列名には、ソースとモーダルの2つのオプションがあります。

  • データソースとデータモデルで列の名前が異なる場合は、これらのオプションを選択して、2つの列名のセットを切り替えることができます。

  • 選択したテーブルのプレビューがダイアログボックスに表示されます。

以下を編集できます−

  • データソースとして使用されるテーブルを変更するには、[ソース名]ドロップダウンリストで選択したテーブルとは別のテーブルを選択します。

  • 必要に応じて列マッピングを変更します-

    • ソースには存在するがデータモデルには存在しない列を追加するには、列名の横にあるチェックボックスを選択します。追加するすべての列について繰り返します。実際のデータは、次に更新するときにデータモデルに読み込まれます。

    • データモデルの一部の列が現在のデータソースで使用できなくなった場合、無効な列を一覧表示するメッセージが通知領域に表示されます。何もする必要はありません。

  • [保存]ボタンをクリックします。

現在のテーブルプロパティのセットを保存すると、メッセージが表示されます–しばらくお待ちください。次に、取得された行数が表示されます。

データモデルのテーブルでは、無効な列が自動的に削除され、新しい列が追加されます。

列名とデータ型の変更

データモデルのテーブルの列の名前は、次のように変更できます-

  • 列のヘッダーをダブルクリックします。ヘッダーの列の名前が強調表示されます。

  • 新しい列名を入力し、古い名前を上書きします。または、次のようにデータモデルのテーブルの列の名前を変更することもできます。

  • ヘッダーをクリックして列を選択します。

  • 列を右クリックします。

  • ドロップダウンリストで[列の名前を変更]をクリックします。

ヘッダーの列の名前が強調表示されます。新しい列名を入力し、古い名前を上書きします。

学習したように、データモデルのテーブルの列のすべての値は同じデータ型である必要があります。

列のデータ型を変更するには、次のようにします。

  • ヘッダーをクリックして、変更する列を選択します。

  • リボンの[ホーム]タブをクリックします。

  • [書式設定]グループのコントロールをクリックして、列のデータ型と書式を変更します。

データソースへのフィルターの追加/変更

データをインポートするときにデータソースにフィルターを追加して、データモデルのテーブルの行数を制限できます。後で、前に定義したフィルターを変更することにより、データモデルのテーブルの行を追加したり、行数を減らしたりすることができます。

インポート中にデータソースにフィルターを追加する

データのインポート中にデータソースに新しいフィルターを追加するには、次の手順を実行します。

  • PowerPivotウィンドウのリボンの[ホーム]タブをクリックします。
  • Get ExternalDataグループのデータソースの1つをクリックします。

[テーブルインポートウィザード]ダイアログボックスが表示されます。

  • 手順に進みます–テーブルとビューを選択します。
  • テーブルを選択し、[プレビューとフィルター]をクリックします。

[選択したテーブルのプレビュー]ダイアログボックスが表示されます。

  • フィルタを適用する列をクリックします。
  • 列見出しの右側にある下向き矢印をクリックします。

フィルタを追加するには、次のいずれかを実行します-

  • 列の値のリストで、フィルタリングする1つ以上の値を選択またはクリアして、[OK]をクリックします。

    ただし、値の数が極端に多い場合は、個々の項目がリストに表示されない場合があります。代わりに、「表示するアイテムが多すぎます」というメッセージが表示されます。

  • [数値フィルター]または[テキストフィルター]をクリックします(列のデータ型によって異なります)。

    • 次に、比較演算子コマンド(Equalsなど)の1つをクリックするか、[カスタムフィルター]をクリックします。[カスタムフィルター]ダイアログボックスで、フィルターを作成し、[OK]をクリックします。

Note −いずれかの段階で間違いを犯した場合は、[行フィルターのクリア]ボタンをクリックして最初からやり直してください。

  • [OK]をクリックします。テーブルインポートウィザードの[テーブルとビューの選択]ページに戻ります。

ご覧のとおり、[フィルターの詳細]列に、フィルターを定義した列の[適用されたフィルター]リンクが表示されます。

リンクをクリックすると、ウィザードによって作成されたフィルター式を表示できます。ただし、各フィルター式の構文はプロバイダーによって異なり、編集することはできません。

  • [完了]をクリックして、フィルターが適用されたデータをインポートします。
  • テーブルインポートウィザードを閉じます。

フィルタを既存のデータソースに変更する

データをインポートした後、行を追加するか、テーブル内の既存の行を制限することにより、データを随時更新する必要がある場合があります。このような場合、テーブルの既存のフィルターを変更したり、新しいフィルターを追加したりできます。

  • PowerPivotウィンドウのリボンの[ホーム]タブをクリックします。

  • [外部データの取得]グループの[既存の接続]をクリックします。[既存の接続]ダイアログボックスが表示されます。

  • フィルタを変更する必要があるテーブルを含む接続をクリックします。

  • [開く]ボタンをクリックします。

[テーブルインポートウィザード]ダイアログボックスが表示されます。前のセクションの手順を繰り返して、列をフィルタリングします。