根据另一个 table 中的数据对过滤后的 Table 进行排序
Sorting a Filtered Table based on data in another table
我有两个 table(SharePoint 列表)。 Employees 包含每个雇员的记录和关于他们的一般信息。 加班记录 包含每个加班班次的记录,包括该班次的员工和日期。因此,Overtime Records 与 Employees 具有多对一的关系。 'Overtime Records'.Employee.Id JOINS TO Employees.ID
我已经成功地在自定义库中放置了一个文本字段,用于计算每个员工使用以下代码工作的加班班次数量。 TimesWorked
是自定义图库中的文本标签对象。
TimesWorked.Text = CountRows(
Filter(
'Overtime Records',
Employee.Id = ThisItem.ID
)
)
我的问题是让画廊本身按此值排序。这是我尝试编写的 Gallery.Items
属性:
Gallery.Items = Sort(Employees,
CountRows(
Filter(
'Overtime Records',
Employee.Id = ID
)
)
)
这应该按 CountRows()
表达式排序。 ID(全部大写)是 Employee table 中的一个字段。 Employee.Id 是加班记录中的一个字段 table。我怀疑我引用的 ID 字段可能存在歧义问题,因为 Filter 表达式嵌套在 Sort 表达式中。它不允许我指定 Employees.ID;我收到语法错误。
在您可以使用 CountRows 对员工 table 进行排序之前,您需要通过添加一列来使该信息可用 - 不,不向 SharePoint 列表添加一列:)
Power Apps 使您能够使用 AddColumns Function
向 table 添加列
一步一步:
重命名列函数: RenameColumns(Employees,"ID", "IdentifierEmployees")
AddColumns 函数: AddColumns(RenameColumns(Employees,"ID", "IdentifierEmployees"),"CountOfOvertime", CountRows(Filter('Overtime Records',EmployeeId = IdentifierEmployees)))
- SortByColumns 函数:
SortByColumns(AddColumns(RenameColumns(Employees,"ID", "IdentifierEmployees"),"CountOfOvertime", CountRows(Filter('Overtime Records',EmployeeId = IdentifierEmployees))),"CountOfOvertime",Descending)
在第一步中重命名列是我发现对我有用的方法,因为如果我有 "EmployeeId = Id"
,过滤器部分将不起作用
希望对您有所帮助
我有两个 table(SharePoint 列表)。 Employees 包含每个雇员的记录和关于他们的一般信息。 加班记录 包含每个加班班次的记录,包括该班次的员工和日期。因此,Overtime Records 与 Employees 具有多对一的关系。 'Overtime Records'.Employee.Id JOINS TO Employees.ID
我已经成功地在自定义库中放置了一个文本字段,用于计算每个员工使用以下代码工作的加班班次数量。 TimesWorked
是自定义图库中的文本标签对象。
TimesWorked.Text = CountRows(
Filter(
'Overtime Records',
Employee.Id = ThisItem.ID
)
)
我的问题是让画廊本身按此值排序。这是我尝试编写的 Gallery.Items
属性:
Gallery.Items = Sort(Employees,
CountRows(
Filter(
'Overtime Records',
Employee.Id = ID
)
)
)
这应该按 CountRows()
表达式排序。 ID(全部大写)是 Employee table 中的一个字段。 Employee.Id 是加班记录中的一个字段 table。我怀疑我引用的 ID 字段可能存在歧义问题,因为 Filter 表达式嵌套在 Sort 表达式中。它不允许我指定 Employees.ID;我收到语法错误。
在您可以使用 CountRows 对员工 table 进行排序之前,您需要通过添加一列来使该信息可用 - 不,不向 SharePoint 列表添加一列:)
Power Apps 使您能够使用 AddColumns Function
向 table 添加列一步一步:
重命名列函数:
RenameColumns(Employees,"ID", "IdentifierEmployees")
AddColumns 函数:
AddColumns(RenameColumns(Employees,"ID", "IdentifierEmployees"),"CountOfOvertime", CountRows(Filter('Overtime Records',EmployeeId = IdentifierEmployees)))
- SortByColumns 函数:
SortByColumns(AddColumns(RenameColumns(Employees,"ID", "IdentifierEmployees"),"CountOfOvertime", CountRows(Filter('Overtime Records',EmployeeId = IdentifierEmployees))),"CountOfOvertime",Descending)
在第一步中重命名列是我发现对我有用的方法,因为如果我有 "EmployeeId = Id"
,过滤器部分将不起作用希望对您有所帮助