次の方法で共有


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 のテーブルを作成する

  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 値の新しいセットを持つデータ テーブルを表示。

テーブルの代わりに単一の GUID を生成するには、次の数式を使用します。

Set( NewGUID, GUID() )