Белешка
Приступ овој страници захтева ауторизацију. Можете покушати да се пријавите или промените директоријуме.
Приступ овој страници захтева ауторизацију. Можете покушати да промените директоријуме.
Односи се на: Цанвас апликације
Цопилот Студио
Десктоп тече
Апликације
засноване на моделу Повер Платформ ЦЛИ
Датаверсе функције
Повер Пагес
Проналази један или више записа у табели.
Погледајте овај видео да бисте сазнали како да користите Filter, Search, и LookUp функције:
Белешка
ПАЦ ЦЛИ пац повер-фк команде не подржавају функцију Search .
Опис
Функција Filter проналази записе у табели који задовољавају формулу. Користи се Filter за проналажење скупа записа који одговарају једном или више критеријума и одбацивање оних записа који то не чине.
Функција LookUp проналази први запис у табели која задовољава формулу. Користи се LookUp за проналажење једног записа који одговара једном или више критеријума.
За оба се формула процењује за сваки запис табеле. Записи који резултирају у true су укључени у резултат. Поред нормалне формуле оператера, можете да користите операције in и exactin за оператере подударања подниски.
Поља записа који се тренутно обрађује су доступна у формули. Користите оператор ThisRecord или једноставно референцирајте поља по називу као и било коју другу вредност. Оператор As такође може да се користи за именовање записа који се обрађује што може да помогне вашој формули да лакше разуме и учини угнежђене записе доступнима. Више информација потражите у примерима у наставку и чланку о раду са опсегом записа.
Функција Search проналази записе у табели који садрже низ у једној од својих колона. Стринг се може појавити било где у колони; На пример, тражење " rob" или "" bert би пронашло подударање у колони која садржи " Robert". Претраживање не разликује велика и мала слова. За разлику од Filter и LookUp, Search функција користи један низ за подударање уместо формуле.
Filter и вратите табелу Search која садржи исте колоне као и оригинална табела и записе који одговарају критеријумима. LookUp Враћа само први пронађени запис, након примене формуле за смањење записа на једну вредност. Ако нема записа, Filter и вратите Search празну табелу, и LookUp враћа празно .
Табеле су вредност у Power Apps, баш као стринг или број. Могу се проследити у функције и функције их могу вратити. Filter, Search, и LookUp не мењајте табелу. Уместо тога, они узимају табелу као аргумент и из ње враћају табелу, запис или једну вредност. За више детаља погледајте рад са табелама
Делегирање
Када је могуће, Power Apps ће делегирати операције за филтрирање и сортирање извору података и страници помоћу резултата на захтев. На пример, када покренете апликацију у којој је приказанa контрола Галерија попуњена подацима, само први скуп записа ће првобитно бити пренет у уређај. Док корисник помера садржај, додатни подаци се преузимају из извора података. Резултат је брже време покретања апликације и приступ веома великим скуповима података.
Међутим, делегирања није увек могуће. Извори података се разликују према функцијама и операторима које подржавају помоћу делегирања. Ако комплетно делегирање формуле није могуће, окружење за креирање користи упозорење да означи део који не може да се делегира. Када је могуће, размислите о промени формуле да бисте избегли функције и операторе који не могу да се делегирају. Листа делегирања наводи који извори података и операције могу да се делегирају.
Ако делегирање није могуће, Power Apps преузима само мали скуп записа са којима може локално да се ради. Filter и функције сортирања ће радити на смањеном скупу записа. Оно што је доступно у Галерији можда није комплетна слика, што може да збуни кориснике.
Више информација потражите у прегледу делегирања.
Синтакса
Filter(Табела *, Formula1 [, *Formula2*, ... ] )
- Табела - Обавезно. Унесите табелу за претрагу.
- Формуле - Обавезно. Формула по којој се процењује сваки запис табеле. Функција враћа све записе који резултирају у true. Можете да референцирате колоне унутар табеле. За Датаверсе изворе података, формула може бити назив Датаверсе приказа. Ако наведете више од једне формуле, резултати свих формула се комбинују са функцијом And.
Белешка
Могу се креирати Датаверсе прикази који враћају додатне колоне из повезаних табела. Међутим , < ДИЦТ__Поwер ⚐ Аппс > Поwер Аппс враћа само оне колоне за које се зна да су део наведеног извора података Датаверсе.
Search(Табела *, СеарцхСтринг , Kolona1 [, * Kolona2*, ... ] )
- Табела - Обавезно. Унесите табелу за претрагу.
- СеарцхСтринг - Обавезно. Ниска коју треба претражити. Ако је празно или празна ниска, сви се записи враћају.
- Колоне - Обавезно. Називи колона унутар Табеле који треба претражити. Ако је SearchString пронађена у подацима било које од тих колона као делимично подударање, вратиће се целокупни запис.
Белешка
У Повер Аппс-у пре верзије КСНУМКС, имена колона за Search функцију су наведена текстуалним низом користећи двоструке наводнике, а ако су повезана са извором података, такође су морала бити логичка имена. На пример, логичко име "cr43e_name" са двоструким наводницима је коришћено уместо приказног имена Име без наводника. За СхареПоинт и Екцел изворе података који садрже имена колона са размацима, сваки простор је наведен са "_x0020_", на пример "Column Name" као "Column_x0020_Name". Након ове верзије, све апликације су аутоматски ажуриране на нову синтаксу описану у овом чланку.
LookUp(Табела *, Формула [, * РедуцтионФормула * ] )
- Табела - Обавезно. Унесите табелу за претрагу. У корисничком интерфејсу, синтакса се приказује као извор изнад оквира са функцијама.
- Формула - Обавезно. Формула по којој се процењује сваки запис табеле. Функција враћа први запис који је резултирао у true. Можете да референцирате колоне унутар табеле. У корисничком интерфејсу синтакса је приказана као услов изнад оквира са функцијама.
- РедуцтионФормула - Опционо. Ова формула се процењује преко пронађеног записа, а затим смањује запис на једну вредност. Можете да референцирате колоне унутар табеле. Ако не користите овај параметар, функција враћа цео запис из табеле. У корисничком интерфејсу синтакса је приказана као резултат изнад оквира са функцијама.
Примери
Следећи примери користе IceCreamизвор података:
| Формула | Опис | Резултат |
|---|---|---|
Filter(IceCream, OnOrder > 0) |
Враћа записе где је OnOrder већа од нуле. |
|
Filter(IceCream, Quantity + OnOrder > 225) |
Враћа записе где је сума колона Количине и OnOrder већа од 225. |
|
Filter(IceCream, "chocolate" in Lower(Flavor )) |
Враћа записе у којима се реч " chocolate" појављује у имену укуса , независно од великих или малих слова. |
|
Filter(IceCream, Quantity < 10 && OnOrder < 20) |
Враћа записе где је Количина мање од 10 и OnOrder мање од 20. Ниједан запис не одговара овим критеријумима, па се враћа празна табела. |
|
Search(IceCream, "choc", Flavor) |
Враћа записе где се низ " choc" појављује у имену укуса , независно од великих или малих слова. |
|
Search(IceCream, "", Flavor) |
Пошто је термин за претрагу празан, сви се записи враћају. |
|
LookUp(IceCream, Flavor = "Chocolate", Quantity) |
Тражи запис са укусом једнак " Chocolate", од којих постоји један. За први пронађени запис враћа се Количина тог записа. | 100 |
LookUp(IceCream, Quantity > 150, Quantity + OnOrder) |
Претражује запис са Количином већом од 150, од којих има више. За први запис који је пронађен, а то је " Vanilla" Флавор , враћа збир колона Qуантитy и ОнОрдер . | 250 |
LookUp(IceCream, Flavor = "Pistachio", OnOrder) |
Тражи запис са укусом једнак " Pistachio", којих нема. Пошто ниједна није пронађена, Проналажење враћа празно. | Празно |
LookUp(IceCream, Flavor = "Vanilla") |
Тражи запис са укусом једнак " Vanilla", од којих постоји један. Пошто није наведена формула смањења, враћа се целокупни запис. | { Укус: " Vanilla", Количина: 200, ОнОрдер: 75 } |
Филтрирање са колонама избора
Следећи пример користи табелу Пословни контакт на платформи Microsoft Dataverse као извор података. Овај пример показује како да се Filter листа налога на основу изабраних контролних вредности Цомбо бокса:
Корак по корак
Отворите празну апликацију.
Додајте нови екран избором опције Нови екран.
На картици Уметање изаберите Галерија, а затим изаберите Усправна.
На картици Својства у десном окну, отворите Извор података, а затим изаберите Пословни контакти.
(Опционално) У листи Распоред, изаберите различите опције.
На картици Уметање изаберите Унос, а затим изаберите Комбиновани оквир. Поновите корак да бисте додали још две контроле комбинованог оквира.
За сваку контролу комбинованог оквира, на картици Својства у десном окну отворите Извор података, а затим изаберите Пословни контакти. Изаберите Уреди поред опције Поља, а затим изаберите вредности Примарни текст и Поље за претрагу. Примарни текст треба да буде колона избора коју желите да додате у комбиновано поље. Поновите корак друге две контроле комбинованог оквира.
Сада изаберите контролу Галерија и подесите својство Ставке на следећу формулу:
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'))
Search корисничко искуство
Следећи примери користе IceCreamизвор података:
У многим апликацијама можете да унесете један или више знакова у оквир за претрагу да бисте филтрирали листу записа у великом скупу података. Док куцате, листа приказује само оне записе који одговарају критеријумима претраге.
Примери у остатку овог чланка приказују резултате претраживања листе, под називом Купци , који садрже ове податке:
Да бисте креирали извор података као колекцију, креирајте контролу Дугме и подесите својства OnSelect према овој формули:
ClearCollect(Customers, Table({ Name: "Fred Garcia", Company: "Northwind Traders" }, { Name: "Cole Miller", Company: "Contoso" }, { Name: "Glenda Johnson", Company: "Contoso" }, { Name: "Mike Collins", Company: "Adventure Works" }, { Name: "Colleen Jones", Company: "Adventure Works" }) )
Као у овом примеру, можете приказати листу записа у Контроли галерије при дну екрана. У врху врха екрана можете да додате контролу Унос текста под именом SearchInput, тако да корисници могу одредити који их записи занимају.
Док корисник уписује знакове у SearchInput, резултати у галерији се аутоматски филтрирају. У овом случају, галерија је конфигурисана за приказивање записа за које име клијента (а не име компаније) почиње редоследом знакова у SearchInput. Ако корисник откуца co у пољу за претрагу, галерија приказује ове резултате:
За филтрирање на основу колоне Назив, поставите својство Предмети за галерију да контролише једну од ових формула:
| Формула | Опис | Резултат |
|---|---|---|
| Filter(Купци , СтартсВитх (Име, СеарцхИнпут.Тект) ) | Филтрира извор података Клијенти за записе у којима се низ за претрагу појављује на почетку колоне Назив. Тест не разликује велика и мала слова Ако корисник откуца co у пољу за претрагу, приказује се галерија Colleen Jones и Cole Miller. Галерија не приказује Mike Collins зато што колона Name за тај запис не почиње ниском за претрагу. |
|
| Filter(Купци , СеарцхИнпут.Теxт у имену) | Филтрира извор података Клијенти за записе у којима се низ за претрагу појављује било где у колони Назив. Тест не разликује велика и мала слова Ако корисник унесе co у поље за претрагу, галерија приказује Colleen Jones,Cole Miller, и Mike Collins јер се низ за претрагу појављује негде у колони Name за све ове записе. |
|
| Search(Купци , СеарцхИнпут.Тект, Име) | Слично коришћењу оператора ин , Search функција тражи меч било где у колони Име сваког записа. Назив колоне морате приложити у двоструким наводницима. |
|
Можете проширити претрагу тако да укључује колону Компанија и колону Име:
| Формула | Опис | Резултат |
|---|---|---|
Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsWith(Company, SearchInput.Text) ) |
Филтрира извор података Customers за записе у којима колона Name или колона Name почиње ниском за претрагу (на пример, co). ||Оператор је true ако је било која функција StartsWithtrue. |
|
Filter(Customers, SearchInput.Text in Name || SearchInput. Text in Company) |
Филтрира извор података Customers за записе у којима било колона Name или колона Name садржи ниску за претрагу (на пример, co) било где у себи. |
|
Search(Customers, SearchInput.Text, Name, Company) |
Слично коришћењу оператора ин , Search функција претражује извор података Купци за записе у којима колона Име или колона Компанија садржи низ за претрагу (на пример, ко ) било где у њему. Функција Search је лакша за читање и писање него Filter ако желите да наведете више колона и више у операторима. |
|