练习 - 使用 Dataverse 关系数据
Contoso 与许多公司一样,具有多个位置,并且允许员工在家工作。 员工偶尔需要进入办公室,需要在访问期间使用办公桌。 此前,Contoso 指示员工在到达办公室后四处寻找可用的办公桌。 随后公司发现此类共享工作区系统或办公桌轮用给 IT 支持和许可带来挑战。 因此,Contoso 最近生成了 Microsoft Power Platform 解决方案,支持员工查看可用的办公桌并提前预留。
在本练习中,您将通过 Power Apps 增强画布应用。
目标
本练习旨在帮助您学习如何使用以下关系:
一对多和多对一
多对多
先决条件
若要完成本练习,您需要包含 Microsoft Dataverse 的环境。
练习 1:导入解决方案
在本练习中,您将起始解决方案导入到测试环境中,然后使用 Microsoft Power Automate 云端流加载示例数据。 本解决方案包含五个表、一个画布应用程序、一个模型驱动应用程序和一个云端流。
任务 1:导入起始解决方案
在本任务中,您需要将解决方案导入到环境中。
您需要下载 zip 文件以完成本练习。 在链接打开后选择下载。
导航到 Power Apps Maker Portal 并选择要用于本实验室的环境。
选择解决方案 > 导入解决方案。
选择浏览。
选择 ContosoHotDesking_1_0_0_0.zip 解决方案,然后选择打开。
选择下一步。
再次选择下一步。
在选择连接下拉列表中选择+ 新建连接。
选择创建。
提供您的凭据。
关闭连接浏览器窗口或选项卡。
选择刷新。
选择导入,然后等待解决方案导入完成。
任务 2:加载示例数据
在本任务中,您将运行云端流以创建示例数据。
选择解决方案,然后选择以打开您导入的 Contoso 办公桌轮用解决方案。
选择云端流,然后选择打开加载示例办公桌轮用数据流。
选择运行。
选择运行流。
选择完成,然后等待流运行完成。 选择刷新按钮查看流运行状态。 流运行完成时应显示成功状态。
任务 3:运行应用
在本任务中,您将运行 Hot Desking Manager 和 Hot Desking 应用程序来熟悉这些应用程序。 然后,您将完成数据设置。
转到 Power Apps Maker Portal 并选择用于本实验室的环境。
选择应用并选择以启动 Hot Desking Manager 应用程序。
选择办公桌并确保您拥有示例数据。
选择位置并确保您拥有示例数据。
选择办公桌功能并确保您拥有示例数据。
选择位置,选择三个位置,然后选择编辑。
在主要联系人字段中选择用户,然后选择更改。
关闭办公桌轮用管理器应用程序。
确保您仍选定应用,选择 Hot Desking 应用程序,然后选择编辑。 应用程序应在应用工作室中打开。
> [!div class="mx-imgBorder"] > [![Screenshot of the Edit button highlighted and the Hot Desking application selected.](../media/edit-application.png)](../media/edit-application.png#lightbox)
选择 HomeScreen,然后选择播放。
选择新建预留。
选择 1 号楼、封闭办公室和办公桌 # 1。
选择未来日期,然后为 9:00 选择预订。
再次选择新建预留。
选择 2 号楼、团队室和办公桌 # 2。
选择未来日期,然后为 13:00 选择预订。
添加更多包含其他组合的预留。
您现在应至少有四项预留。 关闭预览。
展开ReserveDeskScreen下拉列表,展开Gallery3,然后选择Button1。
转到公式并审阅OnSelect公式。 用户选择预订选项时,将使用 Patch() 函数创建新的预留行。 新行与办公桌和用户存在关系。 用户关系通过开始时在应用中建立的全局变量设置。
审阅应用程序中的其他公式,熟悉流程的工作原理。
审阅公式后,选择后退按钮。
请勿离开此页面。
练习 2:创建关系
在本练习中,您将为收藏的办公桌创建关系。 此关系将是用户与办公桌表之间的多对多关系。 此关系允许您实现用户将办公桌标记为收藏的功能。
任务:创建关系
在本任务中,您将为收藏的办公桌创建关系。
选择表。
搜索并选择办公桌表。
选择关系选项,选择 + 新建关系,然后选择多对多。
为相关(多)表选择用户,然后选择完成。
选择保存表。
依次选择解决方案和发布所有自定义项。
等待发布流程完成。
练习 3:向预留显示添加信息
在本练习中,您将更改预留库以显示当前用户创建的预留,而非显示所有预留。 您还将在预留列表中显示更多信息。
任务:编辑应用程序
在本任务中,您将编辑 Contoso 产品管理器应用程序。
转到 Power Apps Maker Portal 并选择用于本实验室的环境。
选择应用,选择 Hot Desking 应用程序,然后选择编辑。
展开HomeScreen并选择Gallery5。
转到公式栏并将项目公式改为以下公式。 本公式将筛选与当前用户关联的预留并且使用用户与预留表之间的一对多关系。
LookUp(Users,'Primary Email'=currentUserEmail).'Reservations (contoso_Reservation_ReservedFor_SystemUser)'
选择编辑库图标。
转到插入下拉菜单并选择文本标签。
然后,将 Text 值设置为以下公式。 本公式使用预留与办公桌表之间的一对多关系。
ThisItem.Desk.Name
调整标签大小并重新定位。
在编辑模式下选择添加其他标签。
选择您添加的标签并将 Text 值设置为以下公式。 以下公式显示您使用两层关系(从预留开始)并且使用办公桌获取位置。
ThisItem.Desk.Location.Phone
调整标签大小并重新定位。
在编辑模式下再次选择标签。
选择您添加的标签并将 Text 值设置为以下公式。
If(IsBlank(ThisItem.Desk.Location.'Primary Contact'),"No Primary Contact",ThisItem.Desk.Location.'Primary Contact'.'Full Name')
调整标签大小并重新定位。
此时预留库应与下图相似。
选择文件 > 保存。
选择后退按钮。
请勿离开此页面。
练习 4:添加收藏办公桌
在本练习中,您将添加允许用户选择收藏办公桌的图标。 您还将添加显示办公桌功能的标签。
任务:添加收藏
在本任务中,您将添加收藏办公桌并添加标签以显示办公桌功能。
展开 FindDeskScreen,然后选择 GalleryDesks。
选择编辑库图标。
转到插入选项卡,选择图标,然后选择其中一个图标。 您将在下一步中使用公式设置特定图标。 因此,在本步骤中,选择的图标无关紧要。
选择您添加的图标并将图标值改为以下公式。 本公式将在用户未将本办公桌指示为收藏办公桌时显示填充的拇指向上图标,或在用户已选定办公桌为收藏办公桌时显示拇指向上图标。
`If(CountIf(ThisItem.Users, ThisRecord.User = currentUser.User) > 0, Icon.ThumbsUp,Icon.ThumbsUpFilled)` > [!NOTE] > The CountIf does encounter [delegation](/power-apps/maker/canvas-apps/delegation-overview/?azure-portal=true) challenges, if you have a large amount of rows in your app you might have to use an alternate approach.
确保您仍选定图标。 选择 OnSelect,然后粘贴以下公式。 本公式将关联或取消关联该办公桌与登录的用户,具体情况取决于用户是否已将办公桌添加为收藏办公桌。
If(CountIf(ThisItem.Users, ThisRecord.User = currentUser.User) > 0, Unrelate(ThisItem.Users, currentUser), Relate(ThisItem.Users, currentUser))
重新定位库中的图标,如下图所示。
确保您仍处于库编辑模式下。 转到插入选项卡并选择标签。
选择您添加的标签并将 Text 值设置为以下公式。 本公式将连接桌面功能名称并使用办公桌与办公桌功能表之间的多对多关系。
Concat(ThisItem.'Desk Features', Name, " , " )
调整标签大小并重新定位以便更好地适应空间。
选择保存图标。
选择后退按钮。
选择播放以预览应用。
库应如下图所示。 选择其中一个办公桌的竖起大拇指图标。
该图标应改为竖起大拇指。 再次选择该图标。
图标应更改回显示已填充拇指向上图标。 再次选择该图标。
关闭预览。
请勿离开此页面。
练习 5:筛选办公桌
在本练习中,您将在用户从下拉列表中选择功能时向办公桌库添加筛选器。
任务:功能筛选器
在本任务中,您将添加功能筛选器。
选择 GalleryDesks。
转到编辑栏,并为项目公式添加以下公式。 本公式将筛选办公桌,仅显示具有选定功能的办公桌。 切勿忘记添加逗号。
,IsBlank(filterFeatures.Selected) || Desk in filterFeatures.Selected.Desks.Desk
选择文件 > 保存。
选择后退按钮。
选择播放。
请注意可用于所选建筑物的办公桌功能。
在下拉列表中选择功能。 应仅显示具有选定功能的办公桌。
选择其他建筑物和功能,确保应用程序的行为符合预期。
关闭预览。
关闭应用程序设计器。