Introdução

Concluído

Um requisito comum para armazenamento de dados de aplicativos de negócios é ter uma coluna de dados que tenha uma lista de valores padronizada e que não muda com frequência para garantir a consistência dos dados. Os usuários que estão inserindo dados escolhem uma opção de uma lista em vez de digitar um valor de formato livre. Exemplos dessas opções incluem uma lista de países/regiões, a prioridade do incidente, a classificação de satisfação e assim por diante.

O Microsoft Dataverse tem um tipo de coluna que dá suporte a esse conceito, a coluna Escolha. As colunas Escolha permitem que um usuário selecione valores de uma lista. Por padrão, elas selecionam uma única opção, mas podem ser facilmente configuradas para permitir vários valores de uma única lista de valores conhecidos. Por exemplo, Categoria Principal pode ser uma coluna de escolha única, Outras Categorias pode ser configurada para várias seleções e ambas podem usar a mesma lista de categorias.

O sistema, ou um personalizador, define a lista de valores para uma coluna de escolha e armazena os valores como metadados da coluna da tabela. Diferentemente de dados de aplicativos, somente um criador de aplicativos pode modificá-lo, não um usuário do aplicativo. Um benefício desse recurso é que, quando você cria um aplicativo que trabalha com uma lista de valores, as fórmulas podem usar o nome da lista de opções. As fórmulas também podem usar o nome de exibição dos valores na fórmula. Por exemplo, a fórmula a seguir define uma cor na propriedade Fill de um item com base na coluna Categoria, que é uma coluna de opção.

Captura de tela da seguinte fórmula do Power Fx: Switch( ThisItem.Category, 'Category (Accounts)'.'Preferred Customer', Green, 'Category (Accounts)'.'Standard', Black. )

À medida que você redigir essa fórmula, o Power Apps saberá os valores possíveis para a coluna Categoria e permitirá que você selecione o valor para comparar da lista de valores conhecidos para a coluna de opção.

Observação

Se você adicionar ou alterar valores em uma lista de opção, e o item modificado ainda não estiver sendo exibido no editor, atualize a tabela no painel de dados selecionando as reticências (...) ao lado da tabela e, depois, Atualizar no menu pop-up.

Captura de tela de um item de menu Atualizar em um menu pop-up para uma tabela do Dataverse. O menu é chamado com a seleção das reticências ao lado da tabela.

Local versus global

Você pode criar uma lista dos valores de opção disponíveis como uma lista local ou global. Os valores da lista de Opção local são usados somente para a coluna em que estão definidos e só podem ser usados nessa tabela. A Opção global permite que a lista seja usada para várias colunas na mesma tabela ou em muitas tabelas diferentes. Quando você cria uma nova coluna Escolha, o valor padrão para a opção Sincronizar com a opção global? é Sim (o que é recomendado). A opção Escolha global permite o uso das mesmas opções em outras tabelas. A menos que você tenha certeza de que os valores se aplicam apenas a essa única coluna nessa única tabela, convém usar valores de escolha global.

Captura das propriedades de coluna de opção na interface do criador, mostrando as opções de Opção global e Opção local realçadas.

Ao selecionar Sim, observe como Sincronizar esta opção com se torna um campo obrigatório e você deve fazer uma seleção para as opções. Quando você selecionar esse campo, um painel mostrando as várias opções disponíveis aparecerá próximo ao novo painel de coluna. Você pode digitar o tipo de opção que está procurando ou rolar pela lista para selecionar um. Além disso, observe que, ao passar o mouse sobre qualquer um dos conjuntos de opções, você terá uma visualização das opções que já fazem parte desse conjunto de opções.

Captura de tela do campo de entrada para Sincronizar esta opção com o painel pop-up e os valores de opção exibidos ao passar o mouse sobre ele.

Também é possível criar um novo conjunto de opções selecionando + Nova opção e inserindo informações em suas escolhas.

Observe que você também pode atribuir uma Opção padrão para a coluna ao criá-la; no entanto, depois de salvar a coluna, não é possível adicionar uma opção padrão.

Se você determinar que deseja manter as opções de escolha como um conjunto de opções local, selecione Não em Sincronizar com a opção global?. Nesse caso, você definiria as opções logo abaixo do botão Não. (É necessário pelo menos um.) Você só precisará adicionar um Rótulo para a opção; o Power Apps atribuirá automaticamente um valor inteiro para o item, que você pode alterar conforme necessário. Você também pode selecionar uma cor para cada opção selecionando a caixa imediatamente à esquerda do nome do Rótulo inserido. No pop-up Selecionar cor, você pode embutir o valor da cor nos campos de entrada para Hex ou valores R-G-B. Como alternativa, você pode ajustar a barra deslizante de cores e ajustar o que há no seletor de cores usando a caixa acima do controle deslizante.

Captura de tela mostrando os valores preenchidos para o rótulo do campo de opção e as propriedades de valor. Também mostra o campo de opções de cores com as opções de entrada de cores realçadas.

Para adicionar mais opções, selecione o botão + Nova opção e repita o processo.

Exibir valores de coluna

Quando os dados de uma opção são armazenados em uma linha do Dataverse, apenas o valor numérico é armazenado, não o texto. Para múltiplas opções, uma lista de valores numéricos separados por vírgulas é armazenada para representar várias seleções.

A forma como você exibe valores em um controle, como um rótulo, é diferente para valores de opção única e múltipla. Campos de opção podem ser usados para definir o valor de um rótulo a fim de exibir o valor do texto da lista. Por exemplo, se houver um campo de opção Categoria para a categoria de cliente, você poderá exibir esse campo em um rótulo de uma galeria usando a fórmula a seguir.

Captura de tela da fórmula do Power Fx: ThisItem.Category.

Para as colunas de múltiplas opções, a propriedade no registro é do tipo Tabela. É uma tabela de coluna única com uma coluna de valor, com cada linha representando um valor selecionado. Para exibir uma lista amigável de valores de texto separados por vírgulas, é necessário pré-processamento. Por exemplo, se você tivesse uma coluna Entrega Preferencial que permitisse que os usuários escolhessem um ou mais dias da semana para entrega, usaria a fórmula a seguir para definir a propriedade Text em um rótulo.

Captura de tela da fórmula do Power Fx: Concat(ThisItem.'Preferred Delivery',Text(Value),

Essa fórmula resultaria na exibição a seguir da lista de valores selecionados.

Captura de tela de uma tela mostrando entrega preferencial como segunda-feira e terça-feira, que é o resultado da fórmula do Power Fx.

Opção vs. pesquisa

Uma decisão comum de modelagem de dados é escolher entre uma coluna de opção e uma coluna de pesquisa ou entre múltiplas opções e um relacionamento muitos para muitos. Não há resposta certa ou errada. No entanto, sua decisão afeta como você gerencia a lista de valores e as fórmulas que podem ser aplicadas. Considere as diferenças resumidas na tabela a seguir.

Opção Pesquisa ou relacionamento muitos para muitos
Lista modificada por criador, sem edição de usuário. A lista contém apenas dados da tabela, e a segurança normal se aplica.
Dados armazenados como um número inteiro ou uma lista de números separados por vírgulas (quando há mais de um). Dados armazenados como uma referência de tabela.
Nenhum método interno para inativar ou desativar a opção. Dá suporta ao estado inativo na linha e pode ser filtrado por fórmulas no aplicativo para limitar a seleção.
Tratado como um componente de solução com suporte total a ALM. Tratado como dados de referência.
Só tem rótulo, valor e cor, e somente o rótulo é utilizável em fórmulas. (Por exemplo, filtrar e classificar somente em rótulo de exibição.) Pode adicionar outros dados a uma tabela de destino de pesquisa que possa ser usada em fórmulas. (Por exemplo, filtrar e classificar em qualquer coluna adicionada à tabela.)
Localização interna. Lidar com sua localização por conta própria.
Nenhum suporte interno a colunas de opção dependentes. Facilita o modelo de dados e a implementação de colunas dependentes. (Consulte Criar uma lista suspensa dependente em um aplicativo de tela.)

Depois de criar a coluna, você não pode alterar o tipo de dados; portanto, antes de criar a coluna, considere como os aplicativos e a automação usarão os dados.

O restante deste módulo explora como usar as colunas de opção ao criar um aplicativo de tela do Microsoft Power Apps.