Funções Essenciais: FILTER e SEARCH no Power Apps

Neste artigo vou mostrar-te como podes utilizar as funções FILTER e SEARCH para consultar dados na tua aplicação de Tela com Power Apps.

Estas funções são praticamente obrigatórias no desenvolvimento de uma aplicação pois permitem, de uma forma dinâmica, filtrar a informação de uma tabela de dados, ou galeria por um ou vários critérios.

As duas funções são semelhantes, mas apresentam algumas diferenças que te quero mostrar neste artigo!

Criar a aplicação e ligar aos dados

Começa por aceder a https://make.powerapps.com/ e no teu ambiente cria uma aplicação de tela em branco.

Damos um nome à aplicação e escolhemos o formato Tablet.

De seguida na aplicação vamos ligar à base de dados, que neste caso é uma lista de SharePoint.

Para obteres a lista podes importar uma tabela de Excel, por exemplo.

Depois de acederes ao site e localizares a lista, confirma e estás pronto para utilizar a base de dados.

Criar uma tabela para visualizar os dados.

No ecrã da aplicação inserimos um controlo de tabela, que é um controlo moderno e que podes ativar em Definições => Atualizações => Controlos e Temas modernos.

Na inserção da tabela, ligamos a mesma à base de dados e temos o controlo no ecrã.

Utilizar a função Filter

A função Filter permite localizar um conjunto de registos que correspondem a uma ou mais condições. A função vai filtrar os registos da tabela que correspondem à condição aplicada.

Com esta função podemos utilizar uma conjugação de condições com a lógica “E” utilizando os caracteres “&&” ou a lógica “OU” com os caracteres “||”.

Para utilizarmos a função, acedemos à propriedade Items da nossa tabela.

Filter(‘Dados Financeiros’; País = “Alemanha”)

A função pode ser mais dinâmica, onde podes utilizar uma lista de valores, para poderes usar como filtro. No contexto da aplicação podemos criar algumas Caixas de Combinação [Combo Box] para obtermos uma lista de Países e Produtos por exemplos.

Na propriedade Items da caixa de combinação podemos utilizar a função Distinct que define uma lista de valores exclusivos de uma determinada coluna da base de dados.

Distinct(‘Dados Financeiros’; País)

Podemos repetir o processo e criar uma segunda Caixa de Combinação para o Produto.

Distinct(‘Dados Financeiros’; Produto)

Com as caixas de combinação, a função Filter é mais dinâmica, uma vez que podemos utilizar o critério para filtrar a Base de Dados em função do valor da Caixa de combinação.

Filter(‘Dados Financeiros’;País=cbPaís.Selected.Value)

E podemos adicionar mais critérios para o filtro…

Filter(‘Dados Financeiros’;País=cbPaís.Selected.Value&&Produto=cbProduto.Selected.Value)

Utilizar a função Search

A função Search permite localizar um conjunto de registos na tabela, mas para uma cadeia de texto, numa das colunas indicadas pela função. Neste caso a função Search pode ser utilizada para pesquisas em que o termo de pesquisa é incompleto, como por exemplo “Jo” em “João”, ou no caso específico “Mercado” para o “Segmento de Mercado”, por exemplo.

Para exemplificar a função Search, vamos criar um ecrã com uma Galeria Vertical. A galeria vai estar ligada à mesma base de dados.

Adicionalmente à Galeria, criamos uma Caixa de Texto, que vai ter o texto utilizado para a pesquisa dos dados em várias colunas da tabela.

Depois de redefinires os nomes da Galeria e Caixa de Texto, utilizamos o mesmo conceito que na tabela. Acedemos à propriedade Items da Galeria.

Search(‘Dados Financeiros’;txtPesquisa.Value;Produto;’Segmento Mercado’;’Banda de Desconto’)

A função Search permite então com apenas uma Caixa de Texto aplicar o critério a múltiplas colunas em simultâneo.

Resolver o aviso de Delegação

Deves reparar no exemplo que temos um aviso de Delegação sobre os Dados. Embora a função esteja a funcionar, poderemos não obter todos os dados da consulta por causa da delegação.

Uma das formas de resolvermos a Delegação é trazer para a aplicação os dados da base de dados.

Podemos criar uma coleção, que é uma variável, que contem a tabela com os dados financeiros. De certa forma estamos a criar uma cópia local da nossa base de dados.

Podemos criar a coleção no momento de inicio da aplicação, na propriedade OnStart da aplicação.

ClearCollect(colDados; ‘Dados Financeiros’)

Para habilitar a variável devemos executar novamente a aplicação.

Se substituirmos a base de dados pela variável colDadospodesobservar que já não existe o aviso de delegação.

No teste da aplicação podemos observar o valor a localizar e as correspondências na Galeria.


Comentários

Leave a Reply

Discover more from Exceldriven

Subscribe now to keep reading and get access to the full archive.

Continue reading