Share via


Сүзгі, Іздеу және Іздеу функциялары

Қолданылады: Canvas қолданбалары Жұмыс үстелі ағындары Үлгіге негізделген қолданбалар Power Platform CLI

Кестедегі бір немесе бірнеше жазбаны табады.

Сүзгі, **Іздеу және LookUp функцияларын пайдалану жолын білу үшін осы бейнені қараңыз. :

Ескертпе

PAC CLI pac power-fx пәрмендеріІздеу функциясына қолдау көрсетпейді.

Сипаттама

Filter функциясы кестедегі формулаға сай жазбаларды табады. Бір немесе бірнеше шартқа сәйкес келетін жазбалар жинағын табу үшін Сүзгі пайдаланыңыз және сәйкес келмейтін жазбаларды алып тастаңыз.

LookUp функциясы кестедегі формулаға сай бірінші жазбаны табады. LookUp функциясын бір немесе бірнеше шартқа сай бір жазбаны табу үшін пайдаланыңыз.

Екеуі де үшін формула кестенің әрбір жазбасы үшін есептеледі. true мәніне әкелетін жазбалар нәтижеге қосылады. Кәдімгі формула операторларына қоса, ішкі жол сәйкестіктерін алу үшін in және exactin операторларын пайдалануға болады.

Қазіргі уақытта өңделетін жазбаның өрістері формула бойынша қолжетімді. ThisRecord операторын пайдаланыңыз немесе жай ғана өрістерді аты әрі басқа кез келген мәні бойынша көрсетіңіз. Сонымен қатар формуланы оңайырақ түсінуге және кірістірілген жазбаларды қолжетімді етуге көмектесу үшін өңделетін жазбаға ат беру үшін As операторын пайдалануға болады. Қосымша ақпарат алу үшін төмендегі мысалдарды қараңыз және жазба ауқымымен жұмыс істеңіз.

Search функциясы бағандарының біреуінде жолды қамтитын кестедегі жазбаларды табады. Жол бағанның кез келген жерінде болуы мүмкін; мысалы, "rob" немесе "bert" сөздерін іздеу "Роберт" бар бағандағы сәйкестікті табады. Іздеуде регистр ескерілмейді. Filter және LookUp функцияларынан айырмашылығы, Search функциясында формула орнына сәйкестікті табу үшін бір жол пайдаланылады.

Filter және Search функциялары бастапқы кестемен бірдей бағандарды қамтитын кестені және шарттарға сай жазбаларды қайтарады. LookUp функциясы жазбаны бір мәнге азайту үшін формуланы қолданудан кейін тек бірінші табылған жазбаны қайтарады. Жазбалар табылмаса, Filter және Search функциялары бос кестені қайтарады және LookUp функциясы бос мәнді қайтарады.

Power Apps ішінде кестелер дәл жол немесе сан сияқты мәндер болып табылады. Оларды функцияларға өткізуге және олардан қайтаруға болады. Filter, Search және LookUp функциялары кестені өзгертпейді. Оның орнына, олар аргумент ретінде кестені қабылдайды және одан кестені, жазбаны немесе бір мәнді қайтарады. Қосымша мәліметтерді кестелермен жұмыс істеу бөлімінен қараңыз.

Өкіл

Мүмкін болса, Power Apps сүзгілеу және сұрыптау әрекеттерін деректер көзіне және сұраныспен нәтижелер бойынша бетке жібереді. Мысалы, іске қосқанда бағдарлама келесіні көрсетеді Галерея деректермен толтырылған бақылау, алдымен құрылғыға бірінші жазбалар жиынтығы беріледі. Пайдаланушы айналдырулары ретінде қосымша ақпарат деректер көзінен алынған. Нәтиже-ең үлкен деректер орнатулары үшін бағдарлама мен қатынасудың жылдам бастау уақыты.

Дегенмен, өкіл әрқашан мүмкін бола бермейді. Деректер көзі олар өкілмен бірге қолдау көрсететін функциялар мен амалдағыштарда әр түрлі. Егер формуланың өкілі мүмкін болмаса, авторлық орта ескертумен беріле алмайтын бөлікті белгілейді Мүмкіндігінше тапсыруға болмайтын функциялар және операторларды болдырмау үшін формуланы өзгертуді қарастырыңыз. өкілдік тізімі тапсыруға болатын деректер көздері мен әрекеттер туралы мәліметтер.

Егер тапсыру мүмкін болмаса, Power Apps жергілікті түрде жұмыс істеу үшін жазбалардың кішкене жиынтығын ғана төмендетеді. Сүзгілеу және сұрыптау функциялары жазбалардың азайған жиынтығында жұмыс істейді. Галереяда қолжетімдісі пайдаланушыларды шатастыратын толық тарих болмауы мүмкін.

Қосымша ақпарат алу үшін, Өкілдік шолуы бөлімін қараңыз.

Синтаксис

Filter(Table*, Formula1 [, *Formula2*, ... ] )

  • Кесте - Міндетті. Іздейтін кесте.
  • Formula(s) - Міндетті. Кестенің әрбір жазбасы есептелетін формула. Функция true мәніне әкелетін барлық жазбаны қайтарады. Сіз кестедегі бағандарға сілтеме жасай аласыз. Бірнеше формуланы көрсетсеңіз, барлық формулалардың нәтижелері And функциясымен біріктіріледі.

Search(Table*, SearchString, Column1 [, *Column2*, ... ] )

  • Кесте - Міндетті. Іздейтін кесте.
  • SearchString - Міндетті. Іздейтін жол. Бос мән немесе бос жол болса, барлық жазбалар қайтарылады.
  • Column(s) - Міндетті. Кесте ішіндегі іздейтін баған атаулары. SearchString осы бағандардың кез келгенінің деректерінің ішінде ішінара сәйкестік ретінде табылса, толық жазба қайтарылады.

Ескертпе

Power Apps 3.24042 нұсқасына дейін Іздеу функциясына арналған баған атаулары қос тырнақшаларды пайдалана отырып, мәтін жолы арқылы көрсетілген және егер деректер көзі олар да логикалық атаулар болуы керек еді. Мысалы, "cr43e_name" қос тырнақшасы бар логикалық атау Аты тырнақшасыз көрсетілу атауының орнына қолданылды. . Бос орындар бар баған атаулары бар SharePoint және Excel деректер көздері үшін әрбір бос орын "_x0020_" арқылы көрсетілді, мысалы "Баған атауы" а "Баған_x0020_Атауы". Осы нұсқадан кейін барлық қолданбалар осы мақалада сипатталған жаңа синтаксиске автоматты түрде жаңартылды.

LookUp(Table*, Formula [, *ReductionFormula* ] )

  • Кесте - Міндетті. Іздейтін кесте. Пайдаланушы интерфейсінде синтаксис функция жолағының үстінде source ретінде көрсетіледі.
  • Formula - Міндетті. Кестенің әрбір жазбасы есептелетін формула. Функция true мәніне әкелетін бірінші жазбаны қайтарады. Сіз кестедегі бағандарға сілтеме жасай аласыз. Пайдаланушылық интерфейсте синтаксис функция жолағының үстінде condition ретінде көрсетіледі.
  • ReductionFormula - Міндетті емес. Бұл формулада табылған формулада есептеледі, содан кейін жазбаны бір мәнге азайтады. Сіз кестедегі бағандарға сілтеме жасай аласыз. Егер сіз бұл параметрді пайдаланбасаңыз, функция кестеден толық жазбаны қайтарады. Пайдаланушылық интерфейсте синтаксис функция жолағының үстінде result ретінде көрсетіледі.

Мысалдар

Келесі мысалдарда IceCreamдеректер көзі пайдаланылады:

Балмұздақ деректер көзі.

Формула Сипаттама Нәтиже
Filter( IceCream, OnOrder > 0 ) OnOrder нөлден үлкенірек жазбаларды қайтарады. Тапсырыс бойынша сүзгі.
Filter( IceCream, Quantity + OnOrder > 225 ) Quantity және OnOrder бағандарының қосындысы 225-тен үлкенірек жазбаларды қайтарады. Сүзгі саны мен тәртібі.
Filter( IceCream, "chocolate" in Lower( Flavor ) ) Жоғарғы регистрдегі немесе төменгі регистрдегі әріптерге қарамастан, "шоколад" сөзі Түрі атауында көрінетін жазбаларды қайтарады. Төменгі сүзгіден өткізіңіз.
Сүзгі(Балмұздақ, саны < 10 && Тапсырыс бойынша < 20) Quantity 10-нан азырақ және OnOrder 20-дан азырақ жазбаларды қайтарады. Бұл шарттарға ешбір жазбалар сәйкес келмейді, сондықтан бос кесте қайтарылады. Саны бойынша сүзгі.
Іздеу(Балмұздақ, "шок", Дәмі) Жоғарғы регистрдегі немесе төменгі регистрдегі әріптерге қарамастан, "шок" жолы Түрі атауында көрінетін жазбаларды қайтарады. Элементтерді іздеу.
Іздеу(Балмұздақ, "", Дәмі) Іздеу шарты бос болғандықтан, барлық жазбалар қайтарылады. Барлық элементтерді іздеу.
LookUp( IceCream, Flavor = "Chocolate", Quantity ) Дәмі "Шоколадқа" тең рекордты іздейді, оның ішінде біреуі бар. Табылған бірінші жазба үшін сол жазбаның Quantity қайтарады. 100-көше
LookUp( IceCream, Quantity > 150, Quantity + OnOrder ) Quantity 150-ден үлкенірек жазбаны іздейді, мұндай бірнеше жазба бар. "Ваниль" Түрі деген табылған бірінші жазба үшін Quantity және OnOrder бағандарының қосындысын қайтарады. 250
LookUp( IceCream, Flavor = "Pistachio", OnOrder ) Түрі "Фисташка" мәніне жазбаны іздейді, ондай жоқ. Ешқайсысы табылмағандықтан, Іздеу нәтижесі бос болады. бос
LookUp( IceCream, Flavor = "Vanilla" ) Дәмі "Ванильге" тең жазбаны іздейді, оның ішінде біреуі бар. Азайту формуласы берілмегендіктен, бүкіл жазба қайтарылады. { Flavor: "Vanilla", Quantity: 200, OnOrder: 75 }

Таңдау бағандарымен сүзгілеу

Келесі мысалда деректер көзі ретінде Microsoft Dataverse жүйесіндегі Тіркелгі кестесі пайдаланылады. Бұл мысалда таңдалған ашық тізім басқару элементінің мәндері негізінде тіркелгілер тізімін қалай сүзгілеу керектігі көрсетілген.

Қадамдық

  1. Бос бағдарламаны ашыңыз.

  2. Жаңа экран опциясын таңдау арқылы жаңа экран қосыңыз.

  3. Енгізу қойыншасында Галерея, содан кейін Тігінен параметрін таңдаңыз.

  4. Оң жақ панельдегі Сипаттар қойыншасында Деректер көзі параметрін ашыңыз, содан кейін Тіркелгілер түймешігін таңдаңыз.

  5. (Қосымша) Орналасу тізімінде әртүрлі опцияларды таңдаңыз.

  6. Енгізу қойыншасында Кіріс, содан кейін Ашық тізім параметрін таңдаңыз. Қосымша екі ашық тізім басқару элементтерін қосу үшін қадамды қайталаңыз.

  7. Әр ашық тізім басқару элементі үшін, оң жақ панельдегі Сипаттар қойыншасында Деректер көзі параметрін ашыңыз, содан кейін Тіркелгілер түймешігін таңдаңыз. Өрістер опциясының жанындағы Өңдеу түймешігін таңдаңыз, содан кейін Негізгі мәтін және SearchField мәндерін таңдаңыз. Негізгі мәтін ашық тізімге қосу керек таңдаулар бағаны болуы керек. Басқа екі ашық тізім басқару элементі үшін қадамды қайталаңыз.

    Құрама жолақ мәндерін орнату.

  8. Галерея басқару элементін таңдаңыз және Элементтер сипатын келесі формулаға орнатыңыз:

    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деректер көзі пайдаланылады:

Көптеген бағдарламаларда үлкен деректер жиынындағы жазбалар тізімін сүзгілеу үшін іздеу жолағында бір немесе бірнеше таңбаны теруге болады. Теру кезінде тізім іздеу шарттарына сәйкес келетін жазбаларды ғана көрсетеді.

Осы мақаланың қалған бөлігіндегі мысалдар осы деректерді қамтитын Тұтынушылар деп аталатын тізімді іздеу нәтижелерін көрсетеді:

Клиенттерден іздеу.

Бұл деректер көзін жинақ ретінде жасау үшін Button басқару элементін жасаңыз және оның 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 ішінде тұтынушының аты (компания атауы емес) таңбалар ретімен басталатын жазбаларды көрсетуге конфигурацияланады. Пайдаланушы іздеу жолағында ко деп терсе, галерея мына нәтижелерді көрсетеді:

дегеннен басталады деп іздеу.

Name бағанының негізінде сүзу үшін галерея басқару элементінің Items сипатын мына формулалардың біреуіне орнатыңыз:

Формула Сипаттама Нәтиже
Filter( Customers, StartsWith( Name, SearchInput.Text ) ) Customers деректер көзінде іздеу жолы Name бағанының басында көрінетін жазбаларды сүзгілейді. Тексеруде регистр ескерілмейді. Егер пайдаланушы іздеу жолағында co деп терсе, галерея Colleen Jones және Cole Miller аттарын көрсетеді. Галерея Mike Collins атын көрсетпейді, өйткені бұл жазбаның Name бағаны іздеу жолымен басталмайды. Бастауымен сүзіңіз.
Filter( Customers, SearchInput.Text in Name ) Customers деректер көзінде іздеу жолы Name бағанының кез келген жерінде көрінетін жазбаларды сүзеді. Тексеруде регистр ескерілмейді. Егер пайдаланушы іздеу жолағында co деп терсе, галерея көрсетеді Colleen Jones,Cole Miller, және Mike Collins аттарын көрсетеді, өйткені іздеу жолы осы жазбалардың барлығының Name бағанында бір жерде көрінеді. Іздеу кірісімен сүзгілеу.
Іздеу(Тұтынушылар, SearchInput.Text, Name) in операторын пайдалануға ұқсас, Search функциясы сәйкестікті әр жазбаның Name бағанының кез келген жерінде іздейді. Баған атын қос тырнақшаға алу керек. Клиенттерді іздеу.

Компания бағаны мен Аты бағанын қамту үшін іздеуді кеңейтуге болады:

Формула Сипаттамасы Нәтиже
Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsWith(Company, SearchInput.Text) ) Customers деректер көзінде Name бағаны немесе Company бағаны іздеу жолымен басталатын (мысалы, co) жазбаларды сүзгілейді. StartsWith функцияларының біреуі true болса, || операторының мәні true. Тұтынушыларды сүзгіден бастайды.
Filter(Customers, SearchInput.Text in Name || SearchInput. Text in Company) Customers деректер көзінде Name бағаны немесе Company бағаны кез келген жерінде іздеу жолын (мысалы, co) қамтитын жазбаларды сүзгілейді. Тұтынушыларды іздеу кірісін сүзіңіз.
Іздеу(Тұтынушылар, SearchInput.Мәтін, Аты, Компания) in операторын пайдалануға ұқсас, Search функциясы Customers деректер көзінде Name бағаны немесе Company бағаны кез келген жерінде іздеу жолын (мысалы, co) қамтитын жазбаларды сүзгілейді. Бірнеше бағанды және бірнеше in операторын көрсеткіңіз келсе, Filter функциясымен салыстырғанда, Search функциясы оқуға және жазуға оңайырақ.  Іздеу енгізуі арқылы тұтынушыларды іздеңіз.