GUID 関数
適用対象: キャンバス アプリ デスクトップ フロー モデル駆動型アプリ Power Platform CLI
GUID (グローバル一意識別子) 文字列を GUID 値に変換する、または新しい GUID 値を作成します。
内容
GUID 関数を使用して、GUID の 16 進数表現を含む文字列をデータ ベースに渡せる GUID 値に変換します。 GUID 値は、Microsoft Dataverse および SQL Server などのデータ ベース システムによってキーとして使用されます。
渡される文字列は大文字または小文字を含めることができますが、次のいずれかの形式で 32 桁の 16 進数である必要があります。
- 「123e4567-e89b-12d3-a456-426655440000」 (標準位置のハイフン)
- "123e4567e89b12d3a456426655440000" (ハイフンなし)
引数を指定しない場合、この関数は新しい GUID を作成します。
GUID 値を文字列に変換するには、ただ文字列コンテキストで使用するだけです。 GUID 値は、ハイフンおよび小文字をともなう 16 進数表現の文字列に変換されます。
新しい GUID を生成するには、この関数は疑似乱数を使用して、バージョン 4 IETF RFC 4122 GUID を作成します。 文字列を GUID に変換する場合、この関数は 32 桁の 16 進数のすべての文字列を承認することにより、すべての GUID バージョンをサポートします。
Volatile 関数
GUID は、引数なしで使用すると揮発性関数になります。 関数が評価されるたびに、別の値が返されます。
データ フロー数式で使用すると、揮発性の関数は、それが表示される数式が再評価される場合にのみ、別の値を返します。 数式で何も変更がない場合、アプリの実行全体で同じ値を設定します。
たとえば、Text プロパティが GUID() に設定されているラベル コントロールは、アプリがアクティブになっている間は変更されません。 アプリを閉じて再び開いた場合にのみ、別の値という結果になります。
関数は、他の何かが変更された数式の一部である場合に再評価されます。 Label コントロールの Text プロパティをこの数式に設定する場合、たとえば、GUID はユーザーがText inputコントロールの値を変更するたびに生成されます。
TextInput1.Text & " " & GUID()
動作の数式 で使用すると、GUID は数式が評価されるたびに生成されます。 詳細については、このトピックの内容の後半の例を参照してください。
構文
GUID( [ GUID文字列 ] )
- 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 はアプリのデバッグに役立つます。 前の例で作成したレコードで Status フィールドの値を表示するには、Label コントロールの Text プロパティを次の数式に設定します。
First( Products ).Status
Label コントロールは f9168c5e-ceb2-4faa-b6bf-329bf39fa1e4 を表示します。
GUID のテーブルを作成する
Button コントロールの OnSelect プロパティを次の数式に設定します。
ClearCollect( NewGUIDs, ForAll( Sequence(5), GUID() ) )
この数式は、5 回反復して、結果として 5 つの GUID が生成されるために使用される単一列のテーブルを作成します。
Data table コントロールを追加し、その Items プロパティを NewGUIDs に設定し、値フィールドを表示します。
Alt キーを押しながら、クリックまたはタップしてボタンを選択します。
データ テーブルには、GUID の一覧が表示されます。
再度ボタンを選択し、別の GUID 一覧を表示します。
テーブルの代わりに単一の GUID を生成するには、次の数式を使用します。
Set( NewGUID, GUID() )