共用方式為


GUID 函式

適用於: 畫布應用程式 桌面流程 模型導向應用程式 Power Platform CLI

將 GUID (全域唯一識別碼) 字串轉換成 GUID 值,或建立新的 GUID 值。

描述

使用 GUID 函式,將包含 GUID 十六進位表示的字串轉換成可以傳遞至資料庫的 GUID 值。 資料庫系統例如 Microsoft Dataverse 和 SQL Server 將 GUID 值用做金鑰。

傳遞的字串可包含大寫或小寫字母,但它必須是以下任一格式的 32 個十六進位數字:

  • "123e4567-e89b-12d3-a456-426655440000" (標準位置中的連字號)
  • "123e4567e89b12d3a456426655440000" (沒有連字號)

如果您未指定引數,此函式會建立新的 GUID。

若要將 GUID 值轉換成字串,只要在字串內容中使用它即可。 GUID 值會轉換成具有連字號和小寫字母的十六進位表示字串。

產生新的 GUID 時,此函式會使用偽亂數來建立版本 4 IETF RFC 4122 GUID。 將字串轉換成 GUID 時,此功能可透過接受任何 32 十六進位數位的字串,來支援任何 GUID 版本。

動態函式

GUID 是在未提供引數情況下使用的動態函式。 每次評估函式時,都會傳回不同的值。

在資料流程公式中使用時,動態函式只會在重新評估其出現所在公式時傳回不同的值。 如果公式中沒有其他變更,它會在您應用程式執行過程中都具有相同的值。

例如,當您的應用程式為使用中時,Text 屬性設定為 GUID() 的標籤控制項並不會變更。 只有關閉並重新開啟應用程式才會產生不同的值。

如果函式是其他公式項目已變更的部分,將會重新評估。 例如,如果我們將 Label 控制項的 Text 屬性設為以下公式,則每次使用者變更 Text input 控制項值時,就會產生 GUID:

TextInput1.Text & " " & GUID()

當用於 行為公式 時,GUID 會在每次評估公式時評估。 如需詳細資訊,請參閱本主題稍後的範例。

語法

GUID( [ GUIDString ] )

  • GUIDString – 非必要項目。 包含 GUID 十六進位表示的文字字串。 如果未提供任何字串,則會建立新的 GUID。

GUID( Untyped )

  • Untyped - 必要項目。 表示 GUID 的非類型化物件。 可接受的值取決於非類型化的提供者。 對於 JSON,非類型化物件應為以 JSON 字串表示的 GUID。

範例

基本使用方式

若要根據十六進位字串表示傳回 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() ) )
    

    此公式會建立用來逐一查看五次的單一欄位資料表,導致產生五個 GUID。

  2. 新增Data table控制項、將其 Items 屬性設定為 NewGUIDs,並顯示 Value 欄位。

  3. 按住 Alt 鍵,點擊一下或點選以選取按鈕。

    資料表會顯示 GUID 的清單:

    此畫面顯示具有五個不同 GUID 值的資料表。

  4. 再次選取按鈕以顯示不同的 GUID 清單:

    同樣的畫面顯示具有全新一組五個不同 GUID 值的資料表。

若要產生單一 GUID 而不是資料表,請使用以下公式:

Set( NewGUID, GUID() )