Powerapps中是否有一个选项可以将搜索文本拆分为单个字符串,并在库中仅显示包含“所有”字符串的项目?

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

我的情况类似于这种情况:点击here

我有一个展示馆藏物品的画廊。我已经添加了Textinput.Text,以便客户有机会搜索项目。

但是,我正在努力实现的是“全文”搜索。

在上述问题中提供的解决方案@carlosfigueira可以完美地分割搜索文本,但我希望在图库中只显示包含所有单个字符串的显示项目。

这是我在图库中的项目代码

Filter(
    CustomListIssues;
    Sum(
        ForAll(
            Filter(
                Split(
                    InpSearchString.Text;
                    " "
                );
                Len(Trim(Result)) > 0
            );
            If(
                Result in 'Title EN';
                1;
                0
            ) && "Unresolved" = Status && If(
                !IsEmpty(lbSearchDepartment.SelectedItems.Result);
                lbSearchDepartment.Selected.Value = Departement;
                "" in Departement
            )
        );
        Value
    ) > 0
)

CustomListIssues:我存储所有列表项的集合

InpSearchString.Text:搜索TextInput.Text

'标题EN':我想根据给定的搜索字符串搜索的列

概述应用:

下面的图片为您提供了目前其外观/工作原理的概述

enter image description here

  1. 给定搜索字符串
  2. TRIM(InpSearchString.Text)
  3. 展示馆藏物品的画廊

预期结果:

我想在图库中只显示包含所有单个字符串的显示项目

提前致谢

Sasha Dornig

full-text-search powerapps powerapps-formula
1个回答
0
投票

如果要包含所有字符串而不是其中一个字符串,则可以稍微更改表达式的逻辑。如果一个单词在标题中,它将总和为1,并检查结果是否大于0(如果存在任何单词,则返回该项目)。在下面这个修改过的表达式中,如果每个单词不在标题中,我们加1,最后我们将总和与0进行比较 - 如果它不为零,那么至少找不到一个单词,我们不会返回记录。

Filter(
    CustomListIssues;
    Sum(
        ForAll(
            Filter(
                Split(
                    InpSearchString.Text;
                    " "
                );
                Len(Trim(Result)) > 0
            );
            If(
                Result in 'Title EN';
                0;
                1
            ) && "Unresolved" = Status && If(
                !IsEmpty(lbSearchDepartment.SelectedItems.Result);
                lbSearchDepartment.Selected.Value = Departement;
                "" in Departement
            )
        );
        Value
    ) = 0
)
© www.soinside.com 2019 - 2024. All rights reserved.