次の方法で共有


Dataverse Liquid タグ

Microsoft Dataverse Liquid タグを Dataverse データの読み込みおよび表示に使用するか、または他の Power Pages フレームワーク サービスを使用します。 これらのタグは、流動言語に対する Dataverse 固有の拡張機能です。

グラフ

Power Apps モデル駆動型アプリのグラフを web ページに追加します。 グラフ タグは、Web ページの コピー フィールドまたは Web テンプレートの ソース フィールドに追加できます。 Power Apps モデル駆動型アプリのグラフを Web ページに追加する手順については、ポータルでグラフを Web ページに追加するPower Pages を参照してください。

{% chart id:"EE3C733D-5693-DE11-97D4-00155DA3B01E" viewid:"00000000-0000-0000-00AA-000010001006" %}

Parameters

グラフ タグには、グラフ id と viewid という 2 つのパラメーターがあります。

グラフ ID

グラフのビジュアル化 ID です。 グラフをエクスポートすると ID を取得できます。

viewid

ビュー エディターで開いたときのテーブルの ID。

PowerBI

Power BI ダッシュボードおよびページ内レポートを追加する タグは、Web ページのコピーフィールドまたは Web テンプレートのソースフィールドに追加できます。 Power Pages 内のwebページに Power BI レポートまたはダッシュボードを追加する手順については、 Power Pages 内の web ページに Power BI レポートまたはダッシュボードを追加 を参照してください。

注意

タグを機能させるには、Power Platform 管理センターの Power Pages ハブから Power BI の統合を有効にする 必要があります。 Power BI の統合が有効化されていない場合は、ダッシュボードまたはレポートは表示されません。

パラメーター

PowerBI タグは、次のパラメーターを受け取ります:

path

Power BI レポートまたはダッシュボードのパス。 Power BI レポートまたは、ダッシュボードが安全な場合、認証タイプを指定する必要があります。

{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}

認証の種類

Power BI レポートまたはダッシュボードに必要な認証のタイプ。 このパラメーターで有効な値は下記です:

  • アノニマス: Web Power BI レポートに公開処理を埋め込むことができます。 既定の認証の種類は匿名です。 認証の種類を匿名として使用する場合、以下で説明されている Power BI レポートの URL を取得する必要があります : Publish to web from Power BI から Web に公開する

  • AAD: 安全な Power BI レポートまたはダッシュボードを Power BI Microsoft Entra ID 認証済みユーザーと共有することができます。

  • powerbiembedded: Power BI 安全なレポートまたはダッシュボードを Power BI ライセンスまたは Microsoft Entra 認証設定を持っていない外部ユーザーと共有できます。 Power BI Embedded サービス設定に関する情報については、 Power BI Embedded サービスを有効にするを参照してください。

安全な Power BI レポートまたはダッシュボードを追加している間は、それらが Power Pages Microsoft Entra または Power BI Embedded サービスと共有されていることを確認します。

注意

authentication_type パラメータの値は大文字と小文字を区別しません。

{% powerbi authentication_type:"AAD" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}

1 つまたは複数の値でレポートにフィルターを適用することもできます。 レポートのフィルター処理の構文は次のとおりです。

URL?filter=Table/Field eq 'value'

たとえば、Bert Hair という名前の取引先担当者のデータが表示されるようにレポートをフィルター処理するとします。 URL に次のデータを追加する必要があります。

?filter=Executives/Executive eq 'Bert Hair'

完了コード:

{% powerbi authentication_type:"AAD" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01?filter=Executives/Executive eq 'Bert Hair'" %}

レポートのフィルター処理の詳細: URL でクエリ文字列パラメーターを使用してレポートをフィルター処理する

注意

匿名レポートは、フィルター処理をサポートしていません。

以下の capture Liquid 変数を使用して動的パスを作成することもできます。

{% capture pbi_path %}https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01?filter=Executives/Executive eq '{{user.id}}'{% endcapture %}
{% powerbi authentication_type:"AAD" path:pbi_path %}

Liquid 変数の詳細: 変数タグ

tileid

ダッシュボードの指定タイルが表示されます。 タイルの ID を設定してください。

{% powerbi authentication_type:"AAD" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/dashboards/00000000-0000-0000-0000-000000000001" tileid:"00000000-0000-0000-0000-000000000002" %}

roles

Power BI レポートに割り当てられた役割 このパラメータが有効になるのは、 authentication_type パラメータが powerbiembeddedに設定されている場合のみです。

Power BI にて役割を定義し、レポートに割り当てている場合は、 powerbi Liquidタグで適切な役割を指定する必要があります。 ロールを使用すると、レポートに表示するデータをフィルタすることができます。 セミコロンで区切った複数の役割を指定することができます。 Power BIにおける役割の定義に関する詳細情報については、 Power BIの行レベルセキュリティ (RLS) を参照してください。

{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection2" roles:"Region_East,Region_West" %}

Power BI レポートに役割を割り当てていても、Liquidタグで roles パラメータを指定しなかった場合、またはパラメータで役割を指定しなかった場合には、エラーが表示されます。

チップ

サイトで定義されたWeb役割を Power BI 役割として使用する場合は、変数を定義してWebの役割を割り当てることができます。 その後、Liquidタグで定義された変数を使用することができます。

たとえば、サイトで Region_East と Region_West という 2 つの Web の役割を定義した場合を例とします。 次のコードを使用して結合することができます: {% assign webroles = user.roles | join: ", " %}

上記のコード スニペットでは、 webroles が変数となり、そこにRegion_EastとRegion_WestのWebロールが格納されます。

webroles 変数をLiquidタグにて次のように使用します:

{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection2" roles:webroles%}

editable

特定の Power Pages CMS オブジェクトを編集可能なサイトとして、そのオブジェクトに対して編集権限を持つユーザーに対して表示します。 編集可能なオブジェクトとして ページスニペット、および Web リンク があります。

{% editable page 'adx_copy' type: 'html', title: 'Page Copy', escape: false, liquid: true %}

{% editable snippets Header type: 'html' %}

<!--

An editable web link set required a specific DOM structure, with

certain classes on the containing element, as demonstrated here.

-->

{% assign primary_nav = weblinks[Primary Navigation] %}

{% if primary_nav %}

<div {% if primary_nav.editable %}class=xrm-entity xrm-editable-adx_weblinkset{% endif %}>

<ul>

<!-- Render weblinks... -->

</ul>

{% editable primary_nav %}

</div>

{% endif %}

パラメーター

編集可能に提供される最初のパラメーターは、Web リンク セット、スニペット、または現在のページなどの編集可能なオブジェクトです。 オプションの 2 番目のパラメーターでは、属性名や、表示および編集されるこのオブジェクト内のキーを指定します。 この値は、テーブル属性の名前、またはスニペットの名前の場合があります。

これらの最初のパラメーターの後では、タグは多数の名前の付けられたオプションのパラメーターをサポートします。

クラス

このタグによって表示されるルート要素のクラス属性値を指定します。

default

編集可能アイテムに値がないサポート案件に表示される既定値。

escape

このタグによって表示される値がエンコードされた HTML かどうかを指定するブール値。 既定では、この値は false です。

liquid

このタグによって表示されるテキスト値内で見つかった流動テンプレート コードを処理するべきかどうか指定するブール値。 既定では、この値は true です。

タグ

このタグによって表示されるコンテナー HTML タグの名前です。 このタグは、既定で div 要素を表示します。 このパラメーターの値として、div または span を選択することをお勧めします。

タイトル

コンテンツ編集インターフェイス内でこの編集可能アイテムのラベルを指定します。 何も指定されていない場合は、わかりやすいラベルが自動的に生成されます。

タイプ

編集可能なテキスト値のために提供された、編集インターフェイスの種類を表す文字列値です。 このパラメーターの有効な値は html または text です。 既定値は html です。

entitylist

特定のリストを名前または ID により読み込みます。 タグ ブロック内で使用できる entitylist オブジェクト を使用して、テーブル リストのプロパティにアクセスすることができるようになります。 リストの実績結果レコードを表示するには、ブロック内でentityview タグを使用します。

リストが正常に読み込まれると、ブロック内のコンテンツが表示されます。 リストが見つからないと、ブロック コンテンツは表示されません。

{% entitylist name:My List %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

既定では、エンティティリスト オブジェクトには、変数名 entitylist が与えられます。 必要に応じて、別の変数名を与えることができます。

{% entitylist my_list = name:My List %}

Loaded list {{ my_list.adx_name }}.

{% endentitylist %}

パラメーター

読み込むリストを選択するには ID、名前、またはキーのうちの 1 つのみを入力します。

ID

GUID ID でリストを読み込みます。 id は、GUID として解析可能な文字列である必要があります。

{% entitylist id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

通常、リテラル GUID 文字列は使用されません。 代わりに ID が、他の変数の GUID プロパティを使用して指定されます。

{% entitylist id:page.adx_entitylist.id %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

名前

名前によってリストを読み込みます。

{% entitylist name:My List %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

キー

ID または名前によってリストを読み込みます。 提供されたキー値が GUID として解析できる場合、リストは ID によって読み込まれます。 それ以外の場合は、名前によって読み込まれます。

<!-- key_variable can hold an ID or name -->

{% entitylist key:key_variable %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

language_code

読み込まれるためにラベルがローカライズされたリストを選択するための Dataverse 整数言語コード。 言語コードが指定されていない場合は、サイト アプリケーション Dataverse 接続の既定の言語が使用されます。

{% entitylist name:"My List", language_code:1033 %}

Loaded list {{ entitylist.adx_name }}.

{% endentitylist %}

エンティティビュー

特定の Dataverse ビューを名前または ID により読み込みます。 ビュー列メタデータのプロパティ、ページ付けされた結果レコードなどは、タグ ブロック内で使用可能な entityview オブジェクト を使用してアクセスすることができます。

ビューが正常に読み込まれると、ブロック内のコンテンツが表示されます。 ビューが見つからないと、ブロック コンテンツは表示されません。

{% entityview logical_name:'contact', name:"Active Contacts" %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

既定では、エンティティビュー オブジェクトには、変数名 entityview が与えられます。 必要に応じて、別の変数名を与えることができます。

{% entityview my_view = logical_name:'contact', name:"Active Contacts" %}

Loaded entity view with {{ my_view.total_records }} total records.

{% endentityview %}

entityview が entitylist ブロック内でネストされる場合、既定の構成 (結果ページ サイズ、フィルター オプション、など) が一覧から継承されます。 ID または名前パラメーターのビューがエンティティビューに提供されていない場合、囲まれているエンティティリストから既定のビューが読み込まれます。

{% entitylist id:page.adx_entitylist.id %}

{% entityview %}

Loaded default view of the list associated with the current page, with {{ entityview.total_records }} total records.

{% endentityview %}

{% endentitylist %}

Parameters

ID または logicalname のいずれかに名前を提供し、読み込む Dataverse ビューを選択します。 いずれも入力しない場合、または entityview タグが entitylist タグ内でネストされている場合は、囲まれた entitylist の既定のビューが読み込まれます。

ID

ID は、GUID として解析できる文字列である必要があります。

{% entityview id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}

Loaded entity view {{ entityview.name }}.

{% endentityview %}

通常、リテラル GUID 文字列は使用されません。 代わりに ID が、他の変数の GUID プロパティを使用して指定されます。

{% entityview id:request.params.view %}

Loaded entity view {{ entityview.name }} using view query string request parameter.

{% endentityview %}

logical_name

読み込むためのビューの Dataverse エンティティの論理名。 名前と連携して使用する必要があります。

{% entityview logical_name:'contact', name:"Active Contacts" %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

名前

読み込むためのビューの Dataverse 名。 logical_name と連携して使用する必要があります。

{% entityview logical_name:'contact', name:"Active Contacts" %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

フィルター

ビューの結果にユーザーまたはアカウントごとにフィルター処理するかどうかを指定します。 user または account の文字列値を持つ必要があります。

{% entityview id:request.params.view, filter:'user' %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

一般的な使用事例は、リクエストに基づいてこのパラメーターを設定することです。

{% entityview id:request.params.view, filter:request.params.filter %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

メタフィルター

ビューの結果をフィルター処理することによって、リストの metadata のフィルター式を指定します。 このパラメーターは、エンティティビューがエンティティリストに連係して使用される場合にのみ有効です。 通常、このパラメーターは、リクエストに基づいて設定されます。

{% entitylist id:page.adx_entitylist.id %}

{% entityview id:request.params.view, metafilter:request.params.mf %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

{% endentitylist %}

オーダー

ビューの結果を並べ替えるための並べ替え式を指定します。 並べ替え式には、後に ASC または DESC が続く、エンティティの属性の論理名を 1 つ以上含むことができます。

{% entityview id:request.params.view, order:'name ASC, createdon DESC' %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

一般的な使用事例は、リクエストに基づいてこのパラメーターを設定することです。

{% entityview id:request.params.view, order:request.params.order %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

ページ

読み込むビューの結果ページを指定します。 このパラメーターを指定しない場合は、結果の最初のページが読み込まれます。

このパラメータは、整数値、または整数として解析できる文字列を渡される必要があります。 このパラメーターに値が入力されましたが、その値が null 、または整数として解析できないその他の値の場合、結果の最初のページが読み込まれます。

{% entityview id:request.params.view, page:2 %}

Loaded page {{ entityview.page }} of entity view with {{ entityview.total_records }} total records.

{% endentityview %}

一般的な使用事例は、リクエストに基づいてこのパラメーターを設定することです。

{% entityview id:request.params.view, page:request.params.page %}

Loaded page {{ entityview.page }} of entity view with {{ entityview.total_records }} total records.

{% endentityview %}

page_size

現在の結果ページに読み込む結果の数を指定します。 このパラメータに値が指定されず、entitylist ブロック内で entityview が使用されている場合、リスト ページ サイズが使用されます。 entitylist ブロック内に存在しない場合、10 の既定値を使用します。

このパラメータは、整数値、または整数として解析できる文字列を渡される必要があります。 このパラメーターに値が入力されましたが、その値が null 、または整数として解析できないその他の値の場合、既定のページ サイズが使用されます。

{% entityview id:request.params.view, page_size:20 %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

一般的な使用事例は、リクエストに基づいてこのパラメーターを設定することです。

{% entityview id:request.params.view, page_size:request.params.pagesize %}

Loaded entity view with {{ entityview.total_records }} total records.

{% endentityview %}

検索

ビューの結果をフィルター処理することによって、検索式を指定します。 単純なキーワード検索式は、キーワードで始まる属性かどうかによってフィルター処理されます。 ワイルドカード * も式に含めることができます。

{% entityview id:request.params.view, search:'John\*' %}

Loaded entity view with {{ entityview.total_records }} total matching records.

{% endentityview %}

一般的には、リクエストに基づいて、このパラメーターを設定するために使用されます。それにより、検索フィルターをユーザーの入力に基づいて設定することができます。

{% entityview id:request.params.view, search:request.params.search %}

Loaded entity view with {{ entityview.total_records }} total matching records.

{% endentityview %}

language_code

読み込むためのエンティティ ビューのローカライズされたラベル (列見出しラベルなど) を選択するための Dataverse 整数言語コード。 言語コードが指定されていない場合は、Web サイト アプリケーション Dataverse 接続の既定の言語が使用されます。

エンティティビューがエンティティリスト ブロック内で使用されている場合、このパラメーターの値は、エンティティリストの構成から継承されます。

{% entityview logical_name:'contact', name:"Active Contacts", language_code:1033 %}

Loaded entity view {{ entityview.name }}.

{% endentitylist %}

検索インデックス

Web サイト検索インデックスに対してクエリを実行します。 一致の結果は、タグ ブロック内で使用可能な searchindex を使用してアクセスすることができます。

{% searchindex query: 'support', page: params.page, page_size: 10 %}

{% if searchindex.results.size > 0 %}

<p>Found about {{ searchindex.approximate_total_hits }} matches:</p>

<ul>

{% for result in searchindex.results %}

<li>

<h3><a href={{ result.url | escape }}>{{ result.title | escape }}</a></h3>

<p>{{ result.fragment }}</p>

</li>

{% endfor %}

</ul>

{% else %}

<p>Your query returned no results.</p>

{% endif %}

{% endsearchindex %}

<style>

    .highlight {background-color: #FFFCAC;}

</style>

既定では、検索インデックス オブジェクトには、変数名 searchindex が与えられます。 必要に応じて、別の変数名を与えることができます。

{% searchindex liquid_search = query: 'support', page: params.page, page_size: 10 %}

{% if liquid_search.results.size > 0 %}

...

{% endif %}

{% endsearchindex %}

パラメーター

検索インデックス タグは、次のパラメーターを受け取ります。

クエリ

結果に一致させるために使用するクエリ。 このパラメーターの目的は、インデックス クエリのユーザー指定部分を受け取ることです (ある場合)。

{% searchindex query: 'support' %}

...

{% endsearchindex %}

一般的な使用事例は、リクエストに基づいてこのパラメーターを設定することです。

{% searchindex query: request.params.query %}

...

{% endsearchindex %}

このパラメーターは、Lucene クエリ パーサー構文をサポートします。

フィルター

結果に一致させるために使用するもう一つのクエリ。 このパラメーターの目的は、必要に応じて、開発者が指定した結果のためのフィルターを受け取ることです。

{% searchindex query: request.params.query, filter: '+statecode:0' %}

...

{% endsearchindex %}

このパラメーターは、Lucene クエリ パーサー構文をサポートします。

注意

フィルターとクエリの違いは、どちらも Lucene クエリ パーサー構文を受け取りますが、クエリの目的が、ߝ ほとんどのエンド ユーザーがこの構文を注意していないことが予想されるときに、この構文が解析される方法についてより寛容であることです。 そのため、この構文の失敗に基づいてクエリを解析した場合、すべてのクエリは、クエリ テキストとしてエスケープされ、送信されます。 一方 filter では、無効な構文の場合には厳しく分析され、エラーが返ります。

logical_names

結果と一致する Dataverse エンティティの論理名は、コンマ区切り文字列として制限されます。 指定しない場合は、すべての一致するエンティティが返されます。

{% searchindex query: request.params.query, logical_names: 'kbarticle,incident' %}

...
>
{% endsearchindex %}

ページ

返される検索結果ページ。 指定しない場合は、最初のページ (1) が返されます。

{% searchindex query: request.params.query, page: 2 %}

...

{% endsearchindex %}

一般的な使用事例は、リクエストに基づいてこのパラメーターを設定することです。

{% searchindex query: request.params.query, page: request.params.page %}

...

{% endsearchindex %}

page_size

返される結果ページのサイズ。 指定しない場合は、既定のサイズ 10 が使用されます。

{% searchindex query: request.params.query, page_size: 20 %}

...

{% endsearchindex %}

entityform

名前または ID により、フォーム の構成をすべて表示します。

注意

エンティティフォーム タグは、ページ テンプレートに基づく Web テンプレート 内に表示されたコンテンツでのみ使用できます。 リライト ベース ページ テンプレート内のタグを使用しているときは、何も表示されません。 1 ページに表示できるのは、1 つのエンティティフォームまたは Web フォーム タグだけです。 2 番目のエンティティフォームまたは Web フォームは表示されません。

{% entityform name: 'My Basic Form' %}

パラメーター

名前

読み込む基本フォームの名前。

{% entityform name:My Basic Form %}

Web フォーム

名前または ID により、マルチステップ フォーム をすべて表示します。 Web フォーム タグは、ページ テンプレートに基づく Web テンプレート内に表示されたコンテンツでのみ使用することができます。 リライト ベース ページ テンプレート内のタグを使用しているときは、何も表示されません。 1 ページに表示できるのは、1 つのエンティティフォームまたは Web フォーム タグだけです。 最初の後の、エンティティフォームまたは Web フォーム表示されません。

{% webform name: 'My Multistep Form' %}

Parameters

名前

読み込むマルチステップ フォームの名前。

{% webform name:My Multistep Form %}

codecomponent

Liquid タグを使用してコード コンポーネントを埋め込むことができます。 たとえば、マップ表示のカスタム コントロールを Web ページに追加します。

Parameters

名前

コード コンポーネントの ID または名前。

property

コードコンポーネントが期待するプロパティの値は、キーと値のペアを ":" (コロン記号) で区切って渡す必要があります。ここでキーはプロパティ名、値は JSON 文字列の値です。

{% codecomponent name:abc\_SampleNamespace.MapControl controlValue:'Space Needle' controlApiKey:<API Key Value> %}

注意

必要なプロパティは、選択したコンポーネントによって異なる場合があります。

コード コンポーネントの Liquid テンプレート タグを使用する を参照してください。

関連情報