做過D365開發的應該非常清楚lookup的作用.
我們首先先看一下lookup字段在Microsoft Docs中的定義
大致意思呢, 就是創建一個N:1 的引用關系. 能夠關聯到兩個entities.
那lookup在PowerApps中怎么使用呢?
Lookup的Data Type = Record
首先我們要知道, Lookup在PowerApps中的data type 是record(什么是PowerApps Record)

Lookup Field 的 GUID 值
在DataFlex Pro(CDS)中, 每一條數據都有對應的GUID值
Record 可以直接用 Record.'Record Name" 獲取到GUID

我們可以看到下圖D365中, 我們可以通過這個GUID搜索到這個用戶.

使用GUID值和Patch來更新 Lookup 字段
因為lookup是一個record, 所以我們需要賦值這個record到lookup字段, 而不是只綁定這個lookup的GUID. 怎么使用patch
Patch( Contacts, First(Contacts), { 'Created By': LookUp( SystemUsers, SystemUser = GUID("cd6843b8-d603-ea11-a811-000d3a300000") ) } )
PowerApps中不能跨多個lookup level
e.g. 下面這個例子是獲取account中的primary contact(第一個lookup)中的created by(第二個lookup)

在Collection中使用lookup字段
我們同樣可以在collection中使用lookup字段. (ClearCollect使用方法)


