次の方法で共有


GUID 関数

適用対象: キャンバス アプリ Copilot Studio デスクトップ フロー モデル駆動型アプリ Power Platform CLI Dataverse 関数

GUID (グローバル一意識別子) 文字列をGUID値に変換するか、新しいGUID値を作成します。

内容

GUID関数を使用して、GUIDの 16 進数表現を持つ文字列を、データベースに渡すことができるGUID値に変換します。 Microsoft Dataverse や SQL Server などのデータベース システムでは、キーとして GUID 値が使用されます。

文字列には大文字または小文字を使用できますが、次のいずれかの形式で 32 桁の 16 進数を指定する必要があります。

  • 「123e4567-e89b-12d3-a456-426655440000」 (標準位置のハイフン)
  • "123e4567e89b12d3a456426655440000" (ハイフンなし)

引数を指定しない場合、関数は新しい GUIDを作成します。

GUID値を文字列に変換するには、文字列コンテキストで使用します。 GUID値は、ハイフンと小文字を含む 16 進文字列に変換されます。

新しい GUIDを生成するときに、関数は擬似乱数を使用してバージョン 4 IETF RFC 4122GUID を作成します。 文字列を GUIDに変換する場合、この関数は 32 桁の 16 進数の文字列を受け入れることで、 GUID バージョンをサポートします。

Volatile 関数

GUID は、引数なしで使用される場合の揮発性関数です。 関数が評価されるたびに、別の値が返されます。

データ フロー数式で揮発性関数を使用すると、数式が再評価された場合にのみ、別の値が返されます。 数式で他に何も変更されない場合は、アプリが開いている間も同じ値が保持されます。

たとえば、ラベル コントロールの Text プロパティを GUID()に設定した場合、アプリがアクティブな間は変更されません。 アプリを閉じて再度開く場合にのみ、別の値が得られます。

関数が数式の一部であり、他の何かが変更された場合、関数は再評価されます。 たとえば、Label コントロールの Text プロパティをこの数式に設定すると、ユーザーがテキスト入力コントロールの値を変更するたびにGUIDが生成されます。

TextInput1.Text &" " & GUID()

動作式GUIDを使用すると、数式が評価されるたびに評価されます。 詳細については、このトピックの内容の後半の例を参照してください。

構文

GUID( [ GUIDString ] )

  • GUIDString – オプション。 GUIDの 16 進数表現を持つテキスト文字列。 文字列を指定しない場合、関数は新しい GUIDを作成します。

GUID( 動的 )

  • 動的 – 必須。 GUIDを表す動的な値。 許容される値は、型指定されていないプロバイダーによって異なります。 JSON の場合、動的な値は JSON 文字列として表されるGUIDである必要があります。

使用例

基本的な使用

16 進数の文字列形式に基づいて GUID 値を返すには:

GUID( "0f8fad5b-d9cb-469f-a165-70867728950e" )

ハイフンを使用せずに GUID 文字列を指定することもできます。 この数式は、同じ GUID 値を返します。

GUID( "0f8fad5bd9cb469fa16570867728950e" )

コンテキストで使用し、新しいデータベース レコードの Status フィールドを十分確立された値に設定する場合。

Patch( Products, Default( Products ), { Status: GUID( "F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4" ) } )

ユーザーに GUID を表示したくないかもしれませんが、GUID はアプリのデバッグに役立ちます。 前の例で作成したレコードの [状態] フィールドの値を表示するには、Label コントロールの Text プロパティを次の式に設定します。

First( Products ).Status

Label コントロールには、f9168c5e-ceb2-4faa-b6bf-329bf39fa1e4 が表示されます。

GUID のテーブルを作成する

  1. Button コントロールの OnSelect プロパティを次の数式に設定します。

    ClearCollect( NewGUIDs, ForAll( Sequence(5), GUID() ) )
    

    この数式は、5 回反復して、結果として 5 つの GUID が生成されるために使用される単一列のテーブルを作成します。

  2. Data table コントロールを追加し、その Items プロパティを NewGUIDs に設定し、フィールドを表示します。

  3. Alt キーを押しながらボタンを選択します。

    データ テーブルには、GUID の一覧が表示されます。

    5 つの異なる GUID 値を持つデータ テーブルを示す画面。

  4. もう一度ボタンを選択して、GUID の新しい一覧を表示します。

    5 つの異なる GUID 値の新しいセットを持つデータ テーブルを示す同じ画面。

テーブルではなく 1 つの GUID を生成するには、次の式を使用します。

Set( NewGUID, GUID() )