Функције филтрирања, претраживања и претраживања
Односи се на: Апликације платна Токови на радној површини Апликације Power Pages Power Platform засноване на моделу ЦЛИ
Проналази један или више записа у табели.
Погледајте овај видео да бисте сазнали како да користите функције филтера , ** претраживања и претраживања :
Белешка
ПАЦ ЦЛИ пац повер-фкс команде не подржавају функцију претраге .
Опис
Функција Filter проналази записе у табели који задовољавају формулу. Користите Филтер да бисте пронашли скуп записа који одговарају једном или више критеријума и одбаците оне записе који то не чине.
Функција LookUp проналази први запис у табели који задовољава формулу. Користите LookUp да бисте пронашли један запис који одговара једном или више критеријума.
За оба се формула процењује за сваки запис табеле. Записи који резултирају у true су укључени у резултат. Поред нормалне формуле оператера, можете да користите операције in и exactin за оператере подударања подниски.
Поља записа који се тренутно обрађује су доступна у формули. Користите оператор ThisRecord или једноставно референцирајте поља по називу као и било коју другу вредност. Оператор As такође може да се користи за именовање записа који се обрађује што може да помогне вашој формули да лакше разуме и учини угнежђене записе доступнима. Више информација потражите у примерима у наставку и чланку о раду са опсегом записа.
Функција Search проналази записе у табели који садрже ниску у једној од колона. Стринг се може појавити било где унутар колоне; на пример, тражење "Роб" или "Берт" би пронашло подударање у колони која садржи "Роберт". Претраживање не разликује велика и мала слова. За разлику од Filter и LookUp, функција Search користи једну ниску за подударање уместо формуле.
Филтер и Претрага враћају табелу која садржи исте колоне као и оригинална табела и записе који одговарају критеријумима. ЛоокУп враћа само први пронађени запис, након примене формуле за смањење записа на једну вредност. Ако није пронађена ниједна евиденција, Filter и Search враћају табелу празно, а LookUp враћа празно.
Табеле су вредност у Power Apps, баш као стринг или број. Могу се проследити у функције и функције их могу вратити. Филтер , Тражи и ЛоокУп не мењају табелу. Уместо тога, они узимају табелу као аргумент и из ње враћају табелу, запис или једну вредност. За више детаља погледајте рад са табелама
Делегирање
Када је могуће, Power Apps ће делегирати операције за филтрирање и сортирање извору података и страници помоћу резултата на захтев. На пример, када покренете апликацију у којој је приказанa контрола Галерија попуњена подацима, само први скуп записа ће првобитно бити пренет у уређај. Док корисник помера садржај, додатни подаци се преузимају из извора података. Резултат је брже време покретања апликације и приступ веома великим скуповима података.
Међутим, делегирања није увек могуће. Извори података се разликују према функцијама и операторима које подржавају помоћу делегирања. Ако комплетно делегирање формуле није могуће, окружење за креирање користи упозорење да означи део који не може да се делегира. Када је могуће, размислите о промени формуле да бисте избегли функције и операторе који не могу да се делегирају. Листа делегирања наводи који извори података и операције могу да се делегирају.
Ако делегирање није могуће, Power Apps преузима само мали скуп записа са којима може локално да се ради. Функције филтрирања и сортирања функционишу на ограниченом скупу записа. Оно што је доступно у Галерији можда није комплетна слика, што може да збуни кориснике.
Више информација потражите у прегледу делегирања.
Синтакса
Филтер (Табела *, Formula1 [, * Formula2 *, ... ] )
- Табела - Обавезно. Унесите табелу за претрагу.
- Формуле - Обавезно. Формула по којој се процењује сваки запис табеле. Функција враћа све записе који резултирају у true. Можете да референцирате колоне унутар табеле. Ако наведете више од једне формуле, резултати свих формула се комбинују са функцијом And.
Сеарцх (Табела *, СеарцхСтринг , Column1 [, * Column2 *, ... ] )
- Табела - Обавезно. Унесите табелу за претрагу.
- СеарцхСтринг - Обавезно. Ниска коју треба претражити. Ако је празно или празна ниска, сви се записи враћају.
- Колоне - Обавезно. Називи колона унутар Табеле који треба претражити. Ако је SearchString пронађена у подацима било које од тих колона као делимично подударање, вратиће се целокупни запис.
Белешка
У Power Apps претходној верзији #пии_ајхфххгјз, имена колона за функцију Претрага су специфицирана текстуалним низом користећи двоструке наводнике, и ако су повезана са < ДИЦТ__извор података > дата соурце такође су морала да буду логичка имена. На пример, логичко име "cr43e_наме" са двоструким наводницима је коришћено уместо < ДИЦТ__име за приказ > дисплаy наме Име без наводника. За SharePoint и Екцел изворе података који садрже имена колона са размацима, сваки простор је наведен са "_x0020_", на пример "Име колоне" као "Цолумн_x0020_Наме ". Након ове верзије, све апликације су аутоматски ажуриране на нову синтаксу описану у овом чланку.
ЛоокУп (Табела *, Формула [, РедуцтионФормула] )
- Табела - Обавезно. Унесите табелу за претрагу. У корисничком интерфејсу, синтакса се приказује као извор изнад оквира са функцијама.
- Формула - Обавезно. Формула по којој се процењује сваки запис табеле. Функција враћа први запис који је резултирао у true. Можете да референцирате колоне унутар табеле. У корисничком интерфејсу синтакса је приказана као услов изнад оквира са функцијама.
- РедуцтионФормула - Опционо. Ова формула се процењује преко пронађеног записа, а затим смањује запис на једну вредност. Можете да референцирате колоне унутар табеле. Ако не користите овај параметар, функција враћа цео запис из табеле. У корисничком интерфејсу синтакса је приказана као резултат изнад оквира са функцијама.
Примери
Следећи примери користе IceCream извор података:
Формула | Опис | Резултат |
---|---|---|
Филтер (Сладолед, по наруџби > 0) | Враћа записе где је OnOrder већа од нуле. | |
Филтер (Сладолед, количина + ОнОрдер > 225) | Враћа записе где је сума колона Количине и OnOrder већа од 225. | |
Filter(IceCream, "чоколада" у Lower(Flavor )) | Враћа записе где се реч „чоколада“ појављује у називу Flavor, независно од великих или малих слова. | |
Филтер (сладолед, количина < 10 & ОнОрдер < 20) | Враћа записе где је Количина мање од 10 и OnOrder мање од 20. Ниједан запис не одговара овим критеријумима, па се враћа празна табела. | |
Претраживање (Сладолед, "чоколада", Укус) | Враћа записе где се ниска „choc“ појављује у називу Flavor, независно од великих или малих слова. | |
Претраживање (Сладолед, "", укус) | Пошто је термин за претрагу празан, сви се записи враћају. | |
ЛоокУп (сладолед, укус = "чоколада", количина) | Тражи запис са укусом једнаким "Чоколада", од којих постоји један. За први пронађени запис враћа се Количина тог записа. | 100 |
ЛоокУп (Сладолед, количина > 150, количина + ОнОрдер) | Претражује запис са Количином већом од 150, од којих има више. За први пронађени запис, а то је „Ванила“ Flavor, враћа износ колона Количина и OnOrder. | 250 |
ЛоокУп (ИцеЦреам, Флавор = "Пистацхио", ОнОрдер) | Претражује снимак где је Flavor једнако „пистација“, од којих не постоји ниједна. Пошто ниједна није пронађена, Проналажење враћа празно. | Празно |
ЛоокУп (Сладолед, укус = "Ванила") | Тражи запис са укусом једнаким "Ванилла", од којих постоји један. Пошто није наведена формула смањења, враћа се целокупни запис. | { Flavor: "Vanilla", Quantity: 200, OnOrder: 75 } |
Филтрирање са колонама избора
Следећи пример користи табелу Пословни контакт на платформи Microsoft Dataverse као извор података. Овај пример показује како да филтрирате листу пословних контаката засновану на вредностима контроле комбинованог оквира:
Корак по корак
Отворите празну апликацију.
Додајте нови екран избором опције Нови екран.
На картици Уметање изаберите Галерија, а затим изаберите Усправна.
На картици Својства у десном окну, отворите Извор података, а затим изаберите Пословни контакти.
(Опционално) У листи Распоред, изаберите различите опције.
На картици Уметање изаберите Унос, а затим изаберите Комбиновани оквир. Поновите корак да бисте додали још две контроле комбинованог оквира.
За сваку контролу комбинованог оквира, на картици Својства у десном окну отворите Извор података, а затим изаберите Пословни контакти. Изаберите Уреди поред опције Поља, а затим изаберите вредности Примарни текст и Поље за претрагу. Примарни текст треба да буде колона избора коју желите да додате у комбиновано поље. Поновите корак друге две контроле комбинованог оквира.
Сада изаберите контролу Галерија и подесите својство Ставке на следећу формулу:
Filter(Accounts, 'Industry' = ComboBox3.Selected.Industry Or IsBlank(ComboBox3.Selected.Industry), 'Relationship Type' = ComboBox2.Selected.'Relationship Type' Or IsBlank(ComboBox2.Selected.'Relationship Type'), 'Preferred Method of Contact' = ComboBox1.Selected.'Preferred Method of Contact' Or IsBlank(ComboBox1.Selected.'Preferred Method of Contact'))
Кориснички доживљај претраге
Следећи примери користе IceCream извор података:
У многим апликацијама можете да унесете један или више знакова у оквир за претрагу да бисте филтрирали листу записа у великом скупу података. Док куцате, листа приказује само оне записе који одговарају критеријумима претраге.
Примери у остатку овог чланка приказују резултате претраживања листе, под називом Купци , који садрже ове податке:
Да бисте креирали извор података као колекцију, креирајте контролу Дугме и подесите својства OnSelect према овој формули:
ЦлеарЦоллецт (Купци, табела { (Име: "Фред Гарциа", Компанија: "Нортхвинд Традерс" }, { Име: "Цоле Миллер", Компанија: "Цонтосо" }, { Име: "Гленда Јохнсон", Компанија: "Цонтосо" }, { Име: "Мике Цоллинс", Компанија: "Адвентуре Воркс" }, { Име: "Цоллеен Јонес", Компанија: "Адвентуре Воркс" }) )
Као у овом примеру, можете приказати листу записа у Контроли галерије при дну екрана. У врху врха екрана можете да додате контролу Унос текста под именом SearchInput, тако да корисници могу одредити који их записи занимају.
Док корисник уписује знакове у SearchInput, резултати у галерији се аутоматски филтрирају. У овом случају, галерија је конфигурисана за приказивање записа за које име клијента (а не име компаније) почиње редоследом знакова у SearchInput. Ако корисник откуца co у пољу за претрагу, галерија приказује ове резултате:
За филтрирање на основу колоне Назив, поставите својство Предмети за галерију да контролише једну од ових формула:
Формула | Опис | Резултат |
---|---|---|
Филтер (Купци, СтартсВитх(Име, СеарцхИнпут.Тект) | Филтрира извор података Клијенти за записе у којима се низ за претрагу појављује на почетку колоне Назив. Тест не разликује велика и мала слова Ако корисник откуца co у пољу за претрагу, приказује се галерија Colleen Jones и Cole Miller. Галерија не приказује Mike Collins зато што колона Name за тај запис не почиње ниском за претрагу. | |
Филтер (Купци, СеарцхИнпут.Текст у имену) | Филтрира извор података Клијенти за записе у којима се низ за претрагу појављује било где у колони Назив. Тест не разликује велика и мала слова Ако корисник унесе co у поље за претрагу, галерија приказује Colleen Jones,Cole Miller, и Mike Collins јер се низ за претрагу појављује негде у колони Name за све ове записе. | |
Претрага (Купци, СеарцхИнпут.Тект, Име) | Слично коришћењу оператора in, функција Search тражи подударање било где у оквиру колоне Name сваког записа. Назив колоне морате приложити у двоструким наводницима. |
Можете проширити претрагу тако да укључује колону Компанија и колону Име:
Формула | Опис | Резултат |
---|---|---|
Филтер (Цустомерс, СтартсWитх(Наме, СеарцхИнпут.Теxт) | | СтартсВитх (Компанија, СеарцхИнпут.Тект) ) | Филтрира извор података Customers за записе у којима колона Name или колона Name почиње ниском за претрагу (на пример, co). ||Оператор је true ако је било која функција StartsWith true. | |
Филтер (Цустомерс, СеарцхИнпут.Теxт ин Наме | | ПретрагаУнос. Текст у компанији) | Филтрира извор података Customers за записе у којима било колона Name или колона Name садржи ниску за претрагу (на пример, co) било где у себи. | |
Претрага (Купци, СеарцхИнпут.Тект, Име, Компанија) | Слично коришћењу оператора in функција Search тражи извор података Customers за записе у којима било колона Name или колона Company садржи ниску за претрагу (на пример, co) било где у себи. Функција Search се лакше чита и пише од функције Filter ако желите да одредите више колона и више оператера in. |