英語で読む

次の方法で共有


Power BI Desktop での TMDL ビューの操作 (プレビュー)

TMDL ビュー を使用すると、Power BI Desktop で 表形式モデル定義言語 (TMDL) を使用して、最新のコード エディターを使用してセマンティック モデル オブジェクトのスクリプト作成、変更、および変更を適用し、開発効率を向上させ、セマンティック モデル メタデータの完全な可視性と制御を提供できます。

TMDL ビュー は、モデル ビューなどのグラフィカル ユーザー インターフェイスではなく、コードを使用したセマンティック モデリングの代替エクスペリエンスを提供します。

TMDL ビューには、次の利点があります。

  • 検索と置換、キーボード ショートカット、複数行の編集などを含む豊富なコード エディターを使用して、開発効率を向上
  • セマンティック モデル開発者間で TMDL スクリプトを簡単にスクリプト化、共有、再利用することで、再利用性の を向上させます。 たとえば、一元化された SharePoint サイトを使用して、予定表テーブルやタイム インテリジェンス計算グループなどの再利用可能なセマンティック モデル オブジェクトを簡単に共有できます。
  • すべてのセマンティック モデル オブジェクトとプロパティを表示し、IsAvailableInMDXDetailRowsDefinition など、Power BI Desktop ユーザー インターフェイスで使用できない項目を変更を可能にすることで、制御と透明性を高めます

プレビュー機能を有効にする

TMDL ビュー使用するには、プレビュー機能を有効にする必要があります。 Power BI Desktop で、[ファイル オプションと設定 オプション プレビュー機能 を選択し、TMDL ビューの横にあるボックス 選択します。

TMDL へのスクリプト

Power BI Desktop で、次の図に示すように、ウィンドウの左側にある TMDL ビュー アイコンを選択します。

テーブル モデル定義言語 T-M-D-L ビューのスクリーンショット。

TMDL ビューが開くと、コード エディターは最初は空になります。 テーブル、メジャー、列などのセマンティック モデル オブジェクトをスクリプト化するには、データ ペイン からオブジェクトを選択し、コード エディターにドラッグします。

セマンティック モデル オブジェクトを T-M-D-L ビュー キャンバスにドラッグするスクリーンショット。

TMDL ビューを使用して [データ] ウィンドウからオブジェクトをドラッグすると、次の図に示すように、Power BI はオブジェクト メタデータ全体を TMDL として現在のタブにスクリプト化します。または、選択したオブジェクトの createOrReplace TMDL スクリプトとして、現在のタブが空でない場合は新しいタブを開きます。

自動的に作成される T-M-D-L メタデータのスクリーンショット。

または、データ ビューでオブジェクトを右クリックし、次の図に示すように、新しいタブまたはクリップボード スクリプト TMDL を選択できます。

データ ビューでオブジェクトを右クリックして、Power BI で T-M-D-L メタデータ コードを作成するスクリーンショット。

ヒント

オブジェクトを TMDL ビュー コード エディターにスクリプト化する前に Ctrl キーを押すと、複数選択がサポートされます。

コード エディター

セマンティック モデル オブジェクトをスクリプト化するか、TMDL スクリプトをコード エディターに貼り付けたら、TMDL ビュー コード エディターによって提供される包括的なコード エクスペリエンス機能を使用できます。 コード エクスペリエンス機能を使用すると、モデル メタデータを調べるか、セマンティック モデルに後で適用できる変更を行うことができます。

セマンティック強調表示

セマンティック強調表示はコード エディターに組み込まれており、意味に基づいてコードの一部に異なる色を適用することで読みやすさが向上します。 このような色分けにより、次の図に示すように、TMDL コードの構造と機能を理解しやすくなります。

T-M-D-L メタデータ コードの色分けとセマンティック強調表示のスクリーンショット。

次の図に示すように、TMDL スクリプトのセクションを展開または折りたたみることもできます。

コードエディターでコードセクションを折りたたむ際のスクリーンショット。

オートコンプリート

オートコンプリートはコード エディターに組み込まれており、入力中にインテリジェントな提案が提供されます。 オートコンプリートを使用すると、カーソル位置を考慮して可能な値またはプロパティを動的に提案することで、ワークフローを高速化し、エラーの可能性を減らし、コード オプションを理解するのに役立ちます。

コード エディターのオートコンプリートのスクリーンショット。

Ctrl + Spaceキーを押して、任意の場所でオートコンプリート機能 トリガーすることもできます。

エラー診断

コード エディターの組み込みのエラー診断は、コード エディターで TMDL 言語エラーを強調表示し、問題の解決に関するガイダンスを提供する詳細なメッセージを示すことで、問題の特定と修正に役立ちます。 さらに、次の図に示すように、の [問題] ペインでエラーの概要を使用できるため、コード エディターでエラーの場所に簡単に移動できます。

コード エディターのエラー診断のスクリーンショット。

セマンティック モデルに変更を適用する

準備ができたら、[ の適用] ボタンを選択してセマンティック モデルに対して TMDL スクリプトを実行し、TMDL コードの変更を適用できます。

コード エディターの [適用] ボタンを使用してスクリプトを適用するスクリーンショット。

成功すると、通知が表示され、モデリングの変更がセマンティック モデルに適用されます。

変更が正常に適用されたことを示すコード エディターの成功バナーのスクリーンショット。

エラーが発生した場合、モデリングの変更がセマンティック モデルに適用されなかったことを示すエラー通知が表示されます。 通知の [詳細 表示] リンクを選択すると、エラーの詳細を表示できます。これにより、出力ペイン が展開され、エラーの詳細が表示されます。

変更が成功しなかったことを示すコード エディターのエラー バナーのスクリーンショット。

注意

TMDL ビューは、データを更新したり、レポートに影響を与えたりすることなく、セマンティック モデルのメタデータのみを変更します。 PowerQuery 式や計算列式の変更など、変更にデータ更新が必要な場合は、変更を有効にするためにテーブルまたはモデルを手動で更新する必要があります。 さらに、TMDL ビューのフィールドの名前を変更すると、そのフィールドを使用するレポート内のビジュアルが破損する可能性があります。

TMDL スクリプト タブ

TMDL ビューでは、一度に複数のスクリプト タブを持つことができます。いずれのタブも名前を変更または削除できます。

T-M-D-L ビューの複数のタブのスクリーンショット。

TMDL ビュー タブの内容は、Power BI Desktop レポートを保存するときにレポート ファイルに保存されるため、次に Power BI Desktop レポート ファイルを開いたときに中断した場所に進むことができます。 Power BI Project (PBIP)に保存すると、次の図に示すように、各スクリプト タブは .tmdl ファイルとして \TMDLScripts フォルダーに保存されます。

Power BI Desktop ファイルにタブを保存するためのファイル構造のスクリーンショット。

ヒント

TMDL スクリプトは Visual Studio Code で開いて編集でき、Power BI Desktop を再起動した後に適切に再読み込みされます。

問題の出力 ペインには、現在選択および表示されているスクリプト タブに固有のエラーとメッセージが表示されます。 別の TMDL スクリップ タブに切り替えると、選択したタブと現在表示されているタブに固有の情報を使用して、両方のペインが更新されます。

[クリア] ボタンを選択すると、[出力] ウィンドウのメッセージを空にできます。

出力ウィンドウのメッセージを空にするために使用されるクリア ボタンのスクリーンショット。

メッセージは Power BI Desktop セッションごとにのみ保持されるため、Power BI Desktop を再起動すると、すべてのスクリプト タブのすべての出力メッセージがクリアされます。

TMDL ビューと Power BI プロジェクト

作業を Power BI プロジェクト (PBIP) として保存すると、TMDL ファイルセマンティック モデル定義メタデータにアクセスし、有用なソース管理と共同開発エクスペリエンスを提供しながら、Power BI Desktop の外部でセマンティック モデルに 変更 加えることができます。 ただし、PBIP 内の TMDL ファイルを変更する場合は、Power BI Desktop を再起動してそれらの変更を再読み込みする必要があります。 これに対し、TMDL ビューはスクリプトのメンタル モデルに従うため、ファイル形式が PBIX か PBIP かに関係なく、TMDL を使用して Power BI Desktop で編集されているセマンティック モデルに変更を直接効率的に適用できます。

両方のエクスペリエンスをシームレスに統合できます。 たとえば、Power BI Desktop を起動せずに迅速な変更のために PBIP の TMDL 定義を更新し、Power BI Desktop が既に開かれている場合は TMDL ビューを利用して、TMDL を使用してセマンティック モデルに対する一連の変更を効率的に実装できます。 どちらの方法でも、豊富で一貫性のある TMDL コーディング エクスペリエンスが提供されます。

TMDL ビューの一般的なユース ケース

シナリオ: 列、Power Query 式、構成による並べ替えおよびその他の要素を含む完全な定義で、セマンティック モデル テーブルを別のセマンティック モデルで再利用または共有する必要があります。

解決策: テーブルでセマンティック モデルを開き、TMDL ビューを使用してスクリプト化します。 スクリプトを他の Power BI Desktop ウィンドウにコピーし、[TMDL ビュー] タブを開き、スクリプトを適用します。



シナリオ: プレフィックス "dim_" または "fact_" を持つすべてのテーブルに名前を付けた。 100 を超える各テーブルを手動で更新せずに、これらのプレフィックスを削除したいと思います。

解決策: TMDL ビューを開き、セマンティック モデルをスクリプト化し、プレフィックスを検索して (正規表現がサポートされています)、空のテキストに置き換えます。



シナリオ: 個人用に設定されたビジュアル機能を使用するには、セマンティック モデルにパースペクティブ 作成する必要があります。 ただし、Power BI Desktop のグラフィカル インターフェイスを使用して作成または編集することはできません。

解決策: TMDL ビューを開き、新しい空のタブを作成し (または既存の観点からスクリプトを使用して)、TMDL を使用してパースペクティブを作成または編集します。 このメソッドは、翻訳、詳細行式など、グラフィカル インターフェイスがない他のセマンティック モデル メタデータにも適用されます。

tmdl
createOrReplace
      perspective SalesView
        perspectiveTable Sales
            perspectiveMeasure 'Sales Amount'
            perspectiveMeasure 'Sales Qty'
            perspectiveColumn Quantity
            perspectiveColumn 'Amount'


シナリオ: 更新をトリガーせずに、テーブルの Power Query 式を変更する必要があります。

解決策: テーブルのスクリプトを作成し、Power Query 式を変更して、変更を適用します。 TMDL ビューでは、データを更新する必要はありません。



シナリオ: テーブルのストレージ モードを DirectQuery からインポートに切り替える必要がある、またはその逆

解決策: テーブルのスクリプト作成、パーティション モードの更新、変更の適用を行います。



シナリオ: 重要な変更を加える前にセマンティック モデル定義をバックアップし、必要に応じて以前の定義に簡単にロールバックする必要があります。

解決策: バックアップするセマンティック モデルまたは特定の部分をスクリプト化し、他のビューで変更を加え、必要に応じて TMDL ビューに戻り、保存されたスクリプトを実行して前のメタデータを復元します。



考慮事項と制限事項

TMDL ビューは現在プレビュー段階なので、次の制限事項に注意してください。

  • すべてのモデリング変更がサポートされているわけではありません。 プレビュー期間中、各 変更の適用は、Power BI プロジェクト (PBIP) を開くときに発生するのと同じ検証を受けます。 サポートされている変更の一覧については、モデルの作成に関する記事 ([ファイルの変更] 列) を参照してください。 サポートされていない変更を実行すると、予期しない動作が発生する可能性があります。
  • コマンド パレット には、現在サポートされていないコマンドがいくつか表示されます。
  • ワークスペースから初期 Git 統合を設定しても、発行されたセマンティック モデルに保存された TMDL ビュー スクリプトは含まれません。 詳細については、Fabric Git 統合 記事を参照してください。
  • メジャーや列などのモデル エクスプローラー グループをスクリプト化することはできません。
  • TMDL ビューは、Direct Lake セマンティック モデル編集するときに使用できません。

次の記事では、TMDL とその使用方法について詳しく説明します。