Funktionerne Filter, Search og LookUp i PowerAppsFilter, Search, and LookUp functions in PowerApps

Finder en eller flere poster i en tabel.Finds one or more records in a table.

BeskrivelseDescription

Funktionen Filter finder de poster i en tabel, som opfylder en formel.The Filter function finds records in a table that satisfy a formula. Brug Filter til at finde et sæt poster, der matcher et eller flere kriterier og til at se bort fra dem, der ikke gør.Use Filter to find a set of records that match one or more criteria and to discard those that don't.

Funktionen LookUp finder den første post i en tabel, som opfylder en formel.The LookUp function finds the first record in a table that satisfies a formula. Brug LookUp til at finde en enkelt post, der opfylder et eller flere kriterier.Use LookUp to find a single record that matches one or more criteria.

For begge funktioner bliver formlen evalueret for hver post i tabellen.For both, the formula is evaluated for each record of the table. De poster, der opfylder betingelserne (true), medtages i resultatet.Records that result in true are included in the result. Ud over de almindelige operatorer, du kan bruge i formler, kan du også bruge operatorerne in og exactin til at matche delstrenge.Besides the normal formula operators, you can use the in and exactin operators for substring matches.

Felter i den post, der behandles i øjeblikket, er tilgængelige i formlen.Fields of the record currently being processed are available within the formula. Du refererer til dem ved navn, som du ville gøre med en hvilken som helst anden værdi.You simply reference them by name as you would any other value. Du kan også referere til egenskaber for kontrolelementer og andre værdier fra hele din app.You can also reference control properties and other values from throughout your app. Yderligere oplysninger finder du i nedenstående eksempler og i arbejde med postområde.For more details, see the examples below and working with record scope.

Funktionen Search finder de poster i en tabel, der indeholder en streng i en af kolonnerne.The Search function finds records in a table that contain a string in one of their columns. Strengen kan findes hvor som helst i kolonnen. Eksempelvis vil en søgning efter "rob" eller "bert" finde et match i en kolonne, der indeholder "Robert".The string may occur anywhere within the column; for example, searching for "rob" or "bert" would find a match in a column that contains "Robert". Der skelnes mellem store og små bogstaver i søgninger.Searching is case-insensitive. Til forskel fra Filter og LookUp bruger funktionen Search en enkelt streng til matchningen i stedet for en formel.Unlike Filter and LookUp, the Search function uses a single string to match instead of a formula.

Filter og Search returnerer en tabel, der indeholder de samme kolonner som den oprindelige tabel samt de poster, der opfylder kriterierne.Filter and Search return a table that contains the same columns as the original table and the records that match the criteria. LookUp returnerer kun den første post, der blev fundet med formlen.LookUp returns only the first record found, after applying a formula to reduce the record to a single value. Hvis der ikke findes nogen poster, vil Filter og Search returnere en tom tabel, og LookUp vil returnere blank.If no records are found, Filter and Search return an empty table, and LookUp returns blank.

Tabeller er en værdi i PowerApps, ligesom en streng eller et tal.Tables are a value in PowerApps, just like a string or number. De kan overføres til og der returneres fra funktioner.They can be passed to and returned from functions. Filter, Search og LookUp kan ikke bruges til at ændre en tabel.Filter, Search, and LookUp don't modify a table. De bruger i stedet en tabel som argument og returnerer en tabel, en post eller en enkelt værdi fra tabellen.Instead, they take a table as an argument and return a table, a record, or a single value from it. Se Arbejde med tabeller for at få flere oplysninger.See working with tables for more details.

DelegeringDelegation

Når det er muligt, vil der blive uddelegeret filtrerings- og sorteringshandlinger til datakilden i PowerApps, og resultaterne vil blive gennemgået efter behov.When possible, PowerApps will delegate filter and sort operations to the data source and page through the results on demand. Når du f.eks. starter en app, som viser kontrolelementet Gallery, der er fyldt med data, er det kun det første sæt poster, der vil blive vist på enheden.For example, when you start an app that shows a Gallery control filled with data, only the first set of records will be initially brought to the device. Når brugeren ruller, hentes flere data fra datakilden.As the user scrolls, additional data is brought down from the data source. Appen starter hurtigere, og du får hurtigere adgang til meget store datasæt.The result is a faster start time for the app and access to very large data sets.

Det er dog ikke altid muligt at uddelegere.However, delegation may not always be possible. Det er forskelligt fra datakilde til datakilde, hvilke funktioner og handlinger de understøtter ved delegering.Data sources vary on what functions and operators they support with delegation. Hvis du ikke kan delegere en formel fuldt ud, forsynes den del, der ikke kan uddelegeres, med en advarsel af oprettelsesmiljøet.If complete delegation of a formula isn't possible, the authoring environment will flag the portion that can't be delegated with a warning. Når det er muligt, kan du overveje at ændre formlen for at undgå funktioner og handlinger, der ikke kan uddelegeres.When possible, consider changing the formula to avoid functions and operators that can't be delegated. Delegeringslisten indeholder oplysninger om, hvilke datakilder og handlinger der kan uddelegeres.The delegation list details which data sources and operations can be delegated.

Hvis der ikke kan uddelegeres, henter PowerApps kun et lille sæt poster, du kan arbejde med lokalt.If delegation is not possible, PowerApps will pull down only a small set of records to work on locally. Filtrerings- og sorteringsfunktionerne fungerer sammen med et reduceret sæt poster.Filter and sort functions will operate on a reduced set of records. Det, der er tilgængeligt i kontrolelementet Gallery, er muligvis ikke det hele, hvilket kan være forvirrende for brugerne.What is available in the Gallery may not be the complete story, which could be confusing to users.

Du kan finde flere oplysninger i oversigten over uddelegering.See the delegation overview for more information.

SyntaksSyntax

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

  • Table – påkrævet.Table - Required. Den tabel, der skal søges i.Table to search.
  • Formula(s) – påkrævet.Formula(s) - Required. Den formel, som hver post i tabellen evalueres for.The formula by which each record of the table is evaluated. Funktionen returnerer alle de poster, der giver resultatet true.The function returns all records that result in true. Du kan referere til kolonner i tabellen.You can reference columns within the table. Hvis du angiver mere end én formel, vil resultaterne for alle formlerne blive kombineret med funktionen And.If you supply more than one formula, the results of all formulas are combined with the And function.

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

  • Table – påkrævet.Table - Required. Den tabel, der skal søges i.Table to search.
  • SearchString – påkrævet.SearchString - Required. Den streng, der skal søges efter.The string to search for. Hvis blank eller en tom streng, returneres alle poster.If blank or an empty string, all records are returned.
  • Column(s) – påkrævet.Column(s) - Required. Navnene på de kolonner i Table, der skal søges efter.The names of columns within Table to search. De kolonner, der søges i, skal indeholde tekst.Columns to search must contain text. Kolonnenavne skal være strenge og angivet i dobbelte anførselstegn.Column names must be strings and enclosed in double quotes. Kolonnenavnene skal dog være statiske og må ikke beregnes med en formel.However, the column names must be static and cannot be calculated with a formula. Hvis SearchString bliver fundet i dataene i disse kolonner som et delvist match, bliver hele posten returneret.If SearchString is found within the data of any of these columns as a partial match, the full record will be returned.

Bemærk

For de SharePoint- og Excel-datakilder, der indeholder kolonnenavne med mellemrum, skal du angive hvert mellemrum som "_x0020_".For SharePoint and Excel data sources that contain column names with spaces, specify each space as "_x0020_". Du skal f.eks. angive "Kolonnens navn" som "Kolonnens_x0020_navn".For example, specify "Column Name" as "Column_x0020_Name".

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

  • Table – påkrævet.Table - Required. Den tabel, der skal søges i.Table to search. I brugergrænsefladen vises syntaksen som source over funktionsfeltet.In the UI, the syntax is shown as source above the function box.
  • Formula – påkrævet.Formula - Required. Den formel, som hver post i tabellen evalueres for.The formula by which each record of the table is evaluated. Funktionen returnerer den første post, der giver resultatet true.The function returns the first record that results in true. Du kan referere til kolonner i tabellen.You can reference columns within the table. I brugergrænsefladen vises syntaksen som condition over funktionsfeltet.In the UI, the syntax is shown as condition above the function box.
  • ReductionFormula – valgfri.ReductionFormula - Optional. Denne formel evalueres for den post, der blev fundet, og den reducerer derefter posten til en enkelt værdi.This formula is evaluated over the record that was found, and then reduces the record to a single value. Du kan referere til kolonner i tabellen.You can reference columns within the table. Hvis du ikke bruger denne parameter, returnerer funktionen hele posten fra tabellen.If you don't use this parameter, the function returns the full record from the table. I brugergrænsefladen vises syntaksen som result over funktionsfeltet.In the UI, the syntax is shown as result above the function box.

EksemplerExamples

Følgende eksempler bruger datakilden IceCream:The following examples use the IceCream data source:

FormelFormula BeskrivelseDescription ResultatResult
Filter( IceCream, OnOrder > 0 )Filter( IceCream, OnOrder > 0 ) Returnerer de poster, hvor OnOrder er større end nul.Returns records where OnOrder is greater than zero.
Filter( IceCream, Quantity + OnOrder > 225 )Filter( IceCream, Quantity + OnOrder > 225 ) Returnerer de poster, hvor summen af kolonnerne Quantity og OnOrder er større end 225.Returns records where the sum of Quantity and OnOrder columns is greater than 225.
Filter( IceCream, "chocolate" in Lower( Flavor ) )Filter( IceCream, "chocolate" in Lower( Flavor ) ) Returnerer de poster, hvor ordet "chocolate" findes i kolonnen Flavor, og der skelnes ikke mellem store og små bogstaver.Returns records where the word "chocolate" appears in the Flavor name, independent of uppercase or lowercase letters.
Filter( IceCream, Quantity < 10 && OnOrder < 20 )Filter( IceCream, Quantity < 10 && OnOrder < 20 ) Returnerer de poster, hvor Quantity er mindre end 10 og OnOrder er mindre end 20.Returns records where the Quantity is less than 10 and OnOrder is less than 20. Der er ingen poster, der opfylder disse kriterier, så der returneres en tom tabel.No records match these criteria, so an empty table is returned.
Search( IceCream, "choc", "Flavor" )Search( IceCream, "choc", "Flavor" ) Returnerer de poster, hvor strengen "choc" findes i kolonnen Flavor, og der skelnes ikke mellem store og små bogstaver.Returns records where the string "choc" appears in the Flavor name, independent of uppercase or lowercase letters.
Search( IceCream, "", "Flavor" )Search( IceCream, "", "Flavor" ) Da søgeudtrykket er tomt, returneres alle poster.Because the search term is empty, all records are returned.
LookUp( IceCream, Flavor = "Chocolate", Quantity )LookUp( IceCream, Flavor = "Chocolate", Quantity ) Søger efter en post, hvor Flavor er lig med "Chocolate", og det gælder for én post.Searches for a record with Flavor equal to "Chocolate", of which there is one. For den første post, der findes, returneres Quantity for den post.For the first record that's found, returns the Quantity of that record. 100100
LookUp( IceCream, Quantity > 150, Quantity + OnOrder )LookUp( IceCream, Quantity > 150, Quantity + OnOrder ) Søger efter en post, hvor Quantity er større end 100, og dem er der flere af.Searches for a record with Quantity greater than 100, of which there are multiple. Den første post, der bliver fundet, er "Vanilla", og der returneres summen af kolonnerne Quantity og OnOrder.For the first record that's found, which is "Vanilla" Flavor, returns the sum of Quantity and OnOrder columns. 250250
LookUp( IceCream, Flavor = "Pistachio", OnOrder )LookUp( IceCream, Flavor = "Pistachio", OnOrder ) Søger efter en post, hvor Flavor er lig med "Pistachio". Dem er der ingen af.Searches for a record with Flavor equal to "Pistachio", of which there are none. Da der ikke blev fundet nogen poster, vil funktionen Lookup returnere blank.Because none were found, Lookup returns blank. blankblank
LookUp( IceCream, Flavor = "Vanilla" )LookUp( IceCream, Flavor = "Vanilla" ) Søger efter en post, hvor Flavor er lig med "Vanilla", og det gælder for én post.Searches for a record with Flavor equal to "Vanilla", of which there is one. Da der ikke var angivet en formel til yderligere reduktion, bliver hele posten returneret.Since no reduction formula was supplied, the entire record is returned. { Flavor: "Vanilla", Quantity: 200, OnOrder: 75 }{ Flavor: "Vanilla", Quantity: 200, OnOrder: 75 }

SøgeoplevelseSearch user experience

I mange apps kan du skrive et eller flere tegn i søgefeltet for at filtrere en liste over poster i et stort datasæt.In many apps, you can type one or more characters into a search box to filter a list of records in a large data set. Når du skriver, vises kun de poster, der opfylder søgekriterierne.As you type, the list shows only those records that match the search criteria.

Eksemplerne i resten af dette emne viser søgeresultaterne for en kundeliste med navnet Customers, der indeholder følgende data:The examples in the rest of this topic show the results of searching a list, named Customers, that contains this data:

Hvis du vil oprette denne datakilde som en samling, skal du oprette et kontrolelement af typen Button og angive egenskaben OnSelect til denne formel:To create this data source as a collection, create a Button control and set its OnSelect property to this formula:

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" } ) )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" } ) )

Ligesom i dette eksempel kan du få vist en liste over poster i et kontrolelement af typen Gallery nederst i skærmbilledet.As in this example, you can show a list of records in a Gallery control at the bottom of a screen. Næsten øverst i skærmbilledet kan du tilføje et kontrolelement af typen Text input, som hedder SearchInput, så brugerne kan angive, hvilke poster de er interesserede i.Near the top of the screen, you can add a Text input control, named SearchInput, so that users can specify which records interest them.

Når brugeren skriver tegn i SearchInput, filtreres resultaterne i galleriet automatisk.As the user types characters in SearchInput, the results in the gallery are automatically filtered. I dette tilfælde er galleriet konfigureret til at vise de poster, hvor kundenavnet (ikke navnet på virksomheden) starter med rækkefølgen af de tegn, der angives i SearchInput.In this case, the gallery is configured to show records for which the name of the customer (not the name of the company) starts with the sequence of characters in SearchInput. Hvis brugeren skriver co i søgefeltet, vises følgende resultater i galleriet:If the user types co in the search box, the gallery shows these results:

Hvis du vil filtrere på kolonnen Name, skal du angive egenskaben Items for kontrolelementet Gallery til en af disse formler:To filter based on the Name column, set the Items property of the gallery control to one of these formulas:

FormelFormula BeskrivelseDescription ResultatResult
Filter( Customers, StartsWith( Name, SearchInput.Text ) )Filter( Customers, StartsWith( Name, SearchInput.Text ) ) Filtrerer datakilden Customers, så de poster, hvor søgestrengen vises i begyndelsen af kolonnen Name, vises.Filters the Customers data source for records in which the search string appears at the start of the Name column. Der skelnes ikke mellem store og små bogstaver i testen.The test is case insensitive. Hvis brugeren skriver co i søgefeltet, vises Colleen Jones og Cole Miller i galleriet.If the user types co in the search box, the gallery shows Colleen Jones and Cole Miller. Mike Collins vises ikke i galleriet, da kolonnen Name for den post ikke starter med søgestrengen.The gallery doesn't show Mike Collins because the Name column for that record doesn't start with the search string.
Filter( Customers, SearchInput.Text in Name )Filter( Customers, SearchInput.Text in Name ) Filtrerer datakilden Customers, så det er de poster, hvor søgestrengen vises hvor som helst i kolonnen Name, der vises.Filters the Customers data source for records in which the search string appears anywhere in the Name column. Der skelnes ikke mellem store og små bogstaver i testen.The test is case insensitive. Hvis brugeren skriver co i søgefeltet, vises Colleen Jones, Cole Miller og Mike Collins i galleriet, fordi søgestrengen findes et sted i kolonnen Name i alle de pågældende poster.If the user types co in the search box, the gallery shows Colleen Jones, Cole Miller, and Mike Collins because the search string appears somewhere in the Name column of all of those records.
Search( Customers, SearchInput.Text, "Name" )Search( Customers, SearchInput.Text, "Name" ) Funktionen Search søger efter et match hvor som helst i kolonnen Name for hver enkelt post. Det svarer til at bruge operatoren in.Similar to using the in operator, the Search function searches for a match anywhere within the Name column of each record. Bemærk, at du skal bruge dobbelte anførselstegn rundt om kolonnenavnet.Note that you must enclose the column name in double quotation marks.

Du kan udvide søgningen til at omfatte kolonnen Company og kolonnen Name:You can expand your search to include the Company column as well as the Name column:

FormelFormula BeskrivelseDescription ResultatResult
Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, SearchInput.Text ) )Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, SearchInput.Text ) ) Filtrerer datakilden Customers, så de poster, hvor enten kolonnen Name eller kolonnen Company starter med søgestrengen (f.eks. co), vises.Filters the Customers data source for records in which either the Name column or the Company column starts with the search string (for example, co). Operatoren || er true, hvis en af værdierne i funktionen StartsWith er true.The || operator is true if either StartsWith function is true.
Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company )Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company ) Filtrerer datakilden Customers, så de poster, hvor enten kolonnen Name eller kolonnen Company indeholder søgestrengen (f.eks. co), vises.Filters the Customers data source for records in which either the Name column or the Company column contains the search string (for example, co) anywhere within it.
Search( Customers, SearchInput.Text, "Name", "Company" )Search( Customers, SearchInput.Text, "Name", "Company" ) Funktionen Search søger i datakilden Customer efter de poster, hvor enten kolonnen Name eller Company indeholder søgestrengen (f.eks. co), vises. Det svarer til at bruge operatoren in.Similar to using the in operator, the Search function searches the Customers data source for records in which either the Name column or the Company column contains the search string (for example, co) anywhere within it. Funktionen Search er nemmere at læse og skrive end Filter, hvis du vil angive flere kolonner og flere operatorer af typen in.The Search function is easier to read and write than Filter if you want to specify multiple columns and multiple in operators. Bemærk, at du skal bruge dobbelte anførselstegn rundt om kolonnenavnene.Note that you must enclose the names of the columns in double quotation marks.