共用方式為


AsType 和 IsType 函式

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

檢查特定資料表類型 (IsType) 的記錄參考,並將參考視為特定類型 (AsType)。

注意

PAC CLI pac power-fx 命令不支援 IsType

Description

閱讀 瞭解記錄參考和多態查閱 以取得更廣泛的簡介及更多詳細資料。

查詢欄位通常是指特定資料表中的記錄。 由於資料表類型已正確建立,您可以使用簡單的點標記法來存取查詢的欄位。 例如,First( Accounts ).'Primary Contact'.'Full Name'帳戶資料表到連絡人資料表中主要連絡人記錄,然後擷取全名欄位。

Microsoft Dataverse 也支援多型查詢欄位,這類查詢欄位可以參考一組資料表中的記錄,如以下範例中所示。

查詢欄位 可參閱
所有人 使用者團隊
客戶 帳戶連絡人
相關 帳戶連絡人知識文章 等。

在畫布應用程式公式中,使用記錄參考來處理多型查詢。 因為記錄參考可參考不同的資料表,所以在撰寫公式時,您無法知道哪些欄位是可用的欄位。 Record.Field 標記法不可用。 那些公式必須適應當應用程式執行時遇到的記錄。

IsType函數測試記錄參考是否參考特定的資料表類型。 此函數傳回布林值 TRUE 或 FALSE。

AsType 函數會將記錄參考視為特定的資料表類型,有時稱為轉換。 您可以將結果當作資料表記錄使用,然後再次使用 Record.Field 標記法存取該記錄的所有欄位。 如果參考不是特定類型,就會發生錯誤。

將這些函數一起使用,以先測試記錄的資料表類型,然後將其視為該類型的記錄,這樣就可以使用欄位:

If( IsType( First( Accounts ).Owner, Users ),
    AsType( First( Accounts ).Owner, Users ).'Full Name',
    AsType( First( Accounts ).Owner, Teams ).'Team Name'
)

只有在您存取記錄參考欄位時才需要這些函數。 例如您可以在 Filter 函數中使用不含 IsTypeAsType 的記錄參考:

Filter( Accounts, Owner = First( Users ) )

同樣地,您可以使用含有 Patch 函數的記錄參考:

Patch( Accounts, First( Accounts ), { Owner: First( Teams ) } )

如果是在記錄內容中使用,例如在GalleryEdit form控制項中,您可能需要使用全域去除混淆運算子來參考資料表類型。 例如此公式對顯示 Company NameCustomer 查閱的連絡人清單資源庫有效:

If( IsType( ThisItem.'Company Name', Accounts ),
    AsType( ThisItem.'Company Name', Accounts ).'Account Name',
    AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)

對於這兩個函數,您可以透過連線至該資料表的資料來源名稱來指定類型。 若要讓公式運作,您也必須將資料來源新增至要測試或強制轉換的任何類型應用程式。 例如,如果您想將 IsTypeAsTypeOwner 查詢和該資料表中的記錄一起使用,則必須新增使用者資料表做為資料來源。 您只能新增您在應用程式中實際使用的資料來源;您不需要新增查詢所參考的所有表格。

如果記錄參考為 空白ISTYPE 會傳回 FALSE,而 AsType 會返回 空白空白 記錄的所有欄位將為 空白

語法

AsType (RecordReferenceTableType)

  • RecordReference - 必要項目。 記錄參考通常是查詢欄位,可參考任何多資料表中的記錄。
  • TableType - 必要。 記錄應轉換到的特定資料表。

IsType (RecordReferenceTableType)

  • RecordReference - 必要項目。 記錄參考通常是查詢欄位,可參考任何多資料表中的記錄。
  • TableType - 必要。 要測試的特定資料表。

範例

瞭解記錄參考和多態查閱 包含大量範例。

  1. 為平板電腦建立空白的畫布應用程式。

  2. 在左窗格中,選取資料>新增資料。 然後新增帳戶連絡人資料表。

    含有兩個資料來源的空白應用程式:帳戶和連絡人。

  3. 在左窗格中,選取 + (插入) > 版面配置 > 空白垂直資源庫

    插入含有空白垂直版面配置的資源庫控制項。

  4. 選取連接至資料,然後選取連絡人做為資料來源。

  5. 將資源庫的版面配置設定為 標題和副標題

    從屬性窗格中開啟版面配置選取器。

    將版面配置設定為標題和副標題。

  6. Data 窗格中,開啟 Title1 清單,然後選取 Full Name

    設定標題值。

  7. 選取 Subtitle1 label 控制項。

    設定字幕值。

  8. Subtitle1Text 屬性設定為以下公式︰

    If( IsBlank( ThisItem.'Company Name' ), "--",
        IsType( ThisItem.'Company Name', Accounts ),
            "Account: " & AsType( ThisItem.'Company Name', Accounts ).'Account Name',
        "Contact: " & AsType( ThisItem.'Company Name', Contacts ).'Full Name'
    )
    

    畫面控制項現在完全顯示資源庫中的帳戶和連絡人。

    資源庫中的字幕顯示這些值:

    • "--" 如果 'Company Name'空白
    • 如果公司名稱欄位參考帳戶,則為「帳戶:」,然後是帳戶資料表中的帳戶名稱欄位。
    • 如果公司名稱欄位參考連絡人,則為「連絡人:」,然後是連絡人資料表中的全名欄位。

    您的結果可能與本主題的不同,因為它使用已修改顯示其他結果類型的範例資料。