Saml personerne fra et personfelt med flere værdier i Power Apps
Et personfelt, der tillader flere personer, giver en tabel inde i en tabel. Sådan folder jeg den ud til én flad collection med to ForAll.
Et personfelt i SharePoint, der tillader flere personer, kommer ind i Power Apps som en tabel i hver række. Filtrerer jeg listen, får jeg altså en tabel af tabeller. Skal personerne bruges som én almindelig liste, folder jeg dem ud i en collection med to ForAll inde i hinanden.
ClearCollect(varApproverTable,Filter(<Liste>,URL = varURL).Approver);
Clear(varApproversCollection);
ForAll(
varApproverTable,
ForAll(
ThisRecord.Approver,
Collect(varApproversCollection,
{
DisplayName: ThisRecord.DisplayName,
Claims: ThisRecord.Claims,
Department: ThisRecord.Department,
Email: ThisRecord.Email,
JobTitle: ThisRecord.JobTitle,
Picture: ThisRecord.Picture
}
)
)
);
Sådan virker det#
ClearCollecthenter kolonnenApproverfra de rækker, der matchervarURL. Hver række ivarApproverTablehar altså sin egen tabel af personer.Cleartømmer den collection, personerne skal ende i.- Den ydre
ForAllgår rækkerne igennem, den indre går personerne i rækkensApproverigennem, ogCollectlægger én post pr. person ivarApproversCollection.
Det der driller#
ThisRecordskifter betydning undervejs. IForAll(ThisRecord.Approver, ...)er det rækken fra den ydre løkke. Inde iCollecter det personen. Løkkerne kan navngives medAs, hvis det skal være tydeligt.var-navnene er collections, ikke variabler. Navnene er mine egne, og de snyder.