我需要帮助显示基于多对多关系的库项。
背景:
到目前为止,我构建了一个单独的画布屏幕,可以在"雇员"one_answers"雇员"之间建立关系。许多"部门";基于此文档:https://powerapps.microsoft.com/et-ee/blog/option-sets-and-many-to-many-relationships-for-canvas-app…现在在另一个屏幕上,我的Event"屏幕,由编辑表单和垂直图库组成,用户(员工)可以提交一个Event表单(在下拉框中包含单个Department),该表单连接到Event">
这是我的问题:
在垂直图库的"项目"中,我如何进行过滤,以便登录的员工可以根据属于他们的部门查看事件。
下面是一个示例/场景:
Pedro属于"财务部"。和"产品部">
爱子属于"计算机工程系"。Department"
Suraj属于"产品部"。和"机械工程"。Department"
Ahlem属于"财务部">
这是基于上面的场景我想要的结果:
- Pedro在他的垂直图库中看到的只是一个拥有"财务部门"的事件列表。所选值和具有"产品部"的事件。选择价值。
- Aiko在她的垂直图库中看到的只是一个带有"计算机工程"字样的事件列表。Department"选择价值。
- Suraj在他的垂直图库中看到的只是一个有"产品部门"的事件列表。所选值和具有"机械工程"的事件。Department"选择价值。
- Ahlem在她的垂直画廊中看到的只是一个有"财务部门"的事件列表。选择价值
数据表和列(带数据类型):
- 事件(s)
id event (primary)
department(查找到单个department)
该表的其他字段/列不重要
- 员工(s)
id empl (primary)
员工姓名(Text: Plain Text)
email (Text: email)
(Department(s)在Dataverse中是一个隐藏列,因为它是一个多对多关系)
- 部门(s)
id department (primary)
部门名称
(Employee(s)在Dataverse中是一个隐藏列,因为它是一个多对多关系)
Many Employees To Many Departments (Many To Many)
多个事件到一个部门
的关系:
提示:
"员工(s)"。email = User()。电子邮件
在垂直图库的'Items'中,我如何进行筛选,以便登录的员工可以根据属于他们的部门查看事件
这将是2-3个步骤的过程。首先,您必须获得登录用户的Guid/UserID。您必须过滤systemuser表(dynamics/dataverse表)。注意用户()。Email给你Office365用户的Email,但你可以很容易地找到如何登录用户id。
那么您必须获取用户所属的部门。看这里
现在您从100个部门列表中筛选了3-4个部门,其中登录用户是其中的一部分。
一旦你有了部门,你可以很容易地得到事件一个事件和部门是1-N或N-1的关系。在这里,您可以根据查找字段进行筛选。
注意:在后面的阶段,你可能要考虑/考虑委托。委派是一种限制,如果你有超过2K条记录,Powerapps将只对前2K条记录执行所有操作。它不会给你正确的结果。