如何按月对 Power Apps 库进行排序

问题描述 投票:0回答:1

我有一个名为“公司附件”的 SharePoint Online 列表,在其中,我添加了不同的列,包括日期和时间列 [附件创建日期]。现在,我想根据下拉列表中选定的值(月)对 Power Apps 库进行排序和筛选。为此,我创建了一个集合,例如: {ClearCollect(collMonths,{ID:1,Name:"Jun"});Collect(collMonths,{ID:2,Name:"Jul"});Collect(collMonths,{ ID:3,名称:"八月"});收集(collMonths,{ID:4,名称:"九月"});收集(collMonths,{ID:5,名称:"十月"});收集(collMonths, {ID:6,名称:“11 月”});收集(collMonths,{ID:7,名称:“12 月”});}。到目前为止,还好,每当我尝试根据下拉值对图库进行排序时,图库都不会显示记录,并且会给出以下委托警告

我的项目属性代码 {SortByColumns(Filter('公司附件',Month('附件创建日期')=Dropdown4.Selected.ID),"AttachmentCreatedDate",SortOrder.Ascending)} 请提出任何解决方案...

sorting filter gallery powerapps sharepoint-list
1个回答
0
投票

Month
对于 1 月返回 1,对于 2 月返回 2,依此类推。您的集合中 Jun 为 1,Jul 为 2,依此类推。因此,选择“11 月”后,实际上是“6 月”(6)。难道六月没有附件了?

您还可以使用表创建集合或变量...

Set(tMonth, Table(
  { ID:1, Name:"Jan"}, { ID:2, Name:"Feb"}, { ID:3, Name:"Mar"},
  { ID:4, Name:"Apr"}, { ID:5, Name:"May"}, { ID:6, Name:"Jun"},
  { ID:7, Name:"Jul"}, { ID:8, Name:"Aug"}, { ID:9, Name:"Sep"},
  { ID:10, Name:"Oct"}, { ID:11, Name:"Nov"}, { ID:12, Name:"Dec"}
));

// or

ClearCollect(collMonths, Table(
  { ID:1, Name:"Jan"}, { ID:2, Name:"Feb"}, { ID:3, Name:"Mar"},
  { ID:4, Name:"Apr"}, { ID:5, Name:"May"}, { ID:6, Name:"Jun"},
  { ID:7, Name:"Jul"}, { ID:8, Name:"Aug"}, { ID:9, Name:"Sep"},
  { ID:10, Name:"Oct"}, { ID:11, Name:"Nov"}, { ID:12, Name:"Dec"}
));

授权警告值得一读(搜索)。本质上,这意味着过滤是在 PowerApps 中完成的,而不是在 SharePoint 中完成的。因此,如果您有超过 2,000 个项目(PowerApps 将拉入的最大值),那么 2,000 个之后的项目将不会被返回/过滤。您可以做的是在 SP 列表中为月份编号创建一个新列,必须填充该列,无法计算。然后确保此列已建立索引,然后您可以对其进行过滤而不会出现委托问题。

© www.soinside.com 2019 - 2024. All rights reserved.