- Visão geral
- Texto Explicativo
- Complex Scenarios
- Credenciais
- Data Service
- Notas de versão
- Sobre o pacote de atividades Data Service
- Compatibilidade do projeto
- Criar Gravação de Entidade
- Excluir Registro de Entidade
- Obter Registro de Entidade Por Id
- Consultar Registros de Entidade
- Atualizar Registro de Entidade
- Carregar Arquivo no Campo de Registro
- Baixar arquivo do Campo de Registro
- Excluir Arquivo do Campo de Registro
- Criar Vários Registros de Entidade
- Atualizar Vários Registros de Entidade
- Excluir Vários Registros de Entidade
- Formulário
- Notas de versão
- Compatibilidade do projeto
- Formulários em tempo real
- Atualização de dados do formulário
- Execução de formulários usando JavaScript
- Personalização de formulários usando CSS
- Componentes condicionais
- Adição de vários componentes na mesma linha em Colunas
- Como usar o componente Data Table
- Get File/Folder Path
- Leitura de valores de célula de um componente de Grade de Dados
- Exibição de arquivos PDF
- Exibição de imagens em formulários
- Rolagem através de grades de dados
- Uso de ferramentas de desenvolvimento com formulários
- Calcular valores do componente do formulário
- Como gerenciar datas em formulários
- Como abrir hiperlinks dentro de formulários
- Exibição de uma guia padrão em formulários
- Exibição do rótulo completo de um componente
- Como pesquisar strings longas em listas suspensas
- Sobre a experiência pré-23.4 do Form
- Compatibilidade do Projeto
- Formulários em tempo real
- Caixas de seleção dinâmicas
- Menus suspensos condicionais
- Exibindo uma guia padrão
- Exibição de imagens
- Exibição de arquivos PDF
- Exibição do rótulo completo
- Elementos HTML dinâmicos
- Gerenciamento de datas
- Como pesquisar strings longas em menus suspensos
- Personalização de formulários usando arquivos CSS locais
- Execução do bloco Fazer durante alteração de caixa de seleção
- Personalização da largura de colunas
- Atualização de dados do formulário
- Redefinição de dados da coleção
- Lógica Avançada
- Execução do bloco Fazer durante alteração de opção em menu suspenso
- Leitura de valores de célula de um componente de Grade de Dados
- Componentes condicionais
- Rolagem através de componentes de Grade de Dados
- Como usar o componente de Grade
- Ferramentas de Desenvolvedor
- Valor Calculado
- Menus suspensos dinâmicos
- Como alternar abas com um clique de botão
- Como abrir hiperlinks dentro de formulários
- FTP
- IPC
- Persistence
- Notas de versão
- Compatibilidade do projeto
- Sobre o pacote de atividades Persistence
- Bulk Form Designer
- Start Job And Get Reference
- Wait for Job and Resume
- Add Queue Item And Get Reference
- Wait For Queue Item And Resume
- Wait for Form Task and Resume
- Resume After Delay
- Assign Tasks
- Create External Task
- Wait For External Task and Resume
- Complete Task
- Forward Task
- Get Form Tasks
- Get Task Data
- Add Task Comment
- Update Task Labels
- Criar tarefa do aplicativo
- Wait For App Task and Resume
- Trabalhando com tarefas de aplicativo
- Criando sua primeira ação de formulário
- Controles avançados para menus suspensos
- Incorporando objetos em ações de formulário
- Permitindo que usuários baixem arquivos para o bucket de armazenamento
- Adicionando lógica avançada usando Java Script
- Configurando uma guia padrão
- Removendo o botão Excluir de Editar grade usando CSS personalizado
- Personalização de modelos de Editar grade
- Uso de botões para disparar uma lógica personalizada
- Usando um layout de formulário externo
- Expansão dinâmica de componentes do formulário no runtime
- Amostras de Fluxos de Trabalho
- Pipelines do Automation Ops
- System
- Notas de versão
- Sobre o pacote de atividades System
- Compatibilidade do projeto
- Assistente do Construtor RegEx
- É Correspondência de Texto
- Encontrar Padrões Correspondentes
- Modify Text
- Modify Date
- Replace Matching Patterns
- Text to Left/Right
- Adicionar Coluna de Dados
- Add Data Row
- Criar Tabela de Dados
- Clear Data Table
- Get Row Item
- Update Row Item
- Merge Data Table
- Output Data Table
- Remove Data Column
- Remove Data Row
- For Each Row in Data Table
- Generate Data Table From Text
- Create List
- Append Item to List
- Read List Item
- Update List Item
- Add Log Fields
- Comentar / Atividades desabilitadas
- Comentar
- Change Type
- Mensagem do Log
- Remove Log Fields
- Invoke Com Method
- Format Value
- Lookup Data Table
- Filtrar Tabela de Dados
- Sort Data Table
- Remove Duplicate Rows
- Join Data Tables
- Report Status
- Anexar Linha
- Compress/Zip Files
- Copy File
- Copy Folder
- Create Folder
- Create File
- Excluir
- File Exists
- Folder Exists
- Extract/Unzip Files
- Wait for Download
- File Change Trigger
- For Each File In Folder
- For Each Folder in Folder
- Delete File
- Delete Folder
- Move File
- Move Folder
- Rename Folder
- Rename File
- Path Exists
- Ler Arquivo de Texto
- Gravar Arquivo de Texto
- Get File Info
- Get Folder Info
- Get Processes
- Get Username/Password
- Kill Process
- Beep
- Get Environment Folder
- Get Environment Variable
- Invoke Power Shell
- Input Dialog
- Caixa de Mensagem
- Browse for file
- Pesquisar pasta
- Invoke VBScript
- Process End Trigger
- Process Start Trigger
- File Change Trigger v3
- Trigger Scope
- Repeat Number Of Times
- Colocar todo o texto em Maiúscula/Minúscula
- Set Environment Variable
- For Each
- Break / Exit Loop
- Tentar Escopo Novamente
- Check True
- Check False
- Workflow Placeholder
- Invocar Arquivo de Fluxo de Trabalho
- Launch Workflow Interactive
- Invoke Code
- Continue / Skip Current
- Multiple Assign
- Invocar Processo
- Run Parallel Process
- While
- Do While
- Repeat Number Of Times
- Raise Alert
- Orchestrator HTTP Request
- Get Asset
- Get Credential / Get Orchestrator Credential
- Set Asset
- Set Credential
- Get Jobs
- Get Current Job Info
- Iniciar Trabalho
- Parar Tarefa
- Add Queue Item
- Add Transaction Item
- Delete Queue Items
- Get Queue Items
- Obter item de transação
- Postpone Transaction Item
- Set Transaction Progress
- Set Transaction Status
- Should Stop
- Wait Queue Item
- Bulk Add Queue Items
- Write Storage Text
- Upload Storage File
- List Storage Files
- Read Storage Text
- Download Storage File
- Delete Storage File
- Entrada Personalizada
- Append Item to Collection
- Build Collection
- Collection to DataTable
- Exists In Collection
- Filter Collection
- Merge Collections
- Remove From Collection
- Reset Timer
- Resume Timer
- Start Timer
- Stop Timer
- Timeout Scope
- Manual Trigger
- When New Item Added to Queue
- Parar Gatilhos Locais
- Executar Gatilhos Locais
- Repetir gatilho
- Gatilho de Tempo
- Desabilitar Gatilho Local
- Habilitar Gatilho Local
- Notify Global Variable Changed
- Gatilho de variável global alterada
- Extrair Texto
- Localizar e substituir
- Retornar
- Extrair data e hora de um texto
- Alterar formatação para texto
- Add or Subtract from Date
- Baixar arquivo da URL
- Formatar data como texto
- Dividir texto
- Combinar texto
- Add Data Row
- AddQueueItem
- Add Transaction Item
- Anexar Linha
- BulkAddQueueItems
- Clear Data Table
- Compactar Arquivos ZIP
- Copy File
- Create File
- Create Folder
- Delete File or Folder
- Delete Queue Items
- Delete Storage File
- Download Storage File
- ExtractUnzip Files
- Filtrar Tabela de Dados
- Get Asset
- Get Credential
- GetJobs
- Get Queue Item
- GetQueueItems
- Obter recurso para caminho local
- Get Row Item
- Obter item de transação
- Invocar Processo
- Join Data Tables
- List Storage Files
- Lookup Data Table
- Merge Data Table
- Move File
- Orchestrator HTTP Request
- OutputDataTable
- Path Exists
- Postpone Transaction Item
- Read Storage Text
- Ler Arquivo de Texto
- Remove Data Column
- Remove Duplicate Rows
- Substituir
- Set Asset
- Set Credential
- SetTransactionProgress
- Set Transaction Status
- Sort Data Table
- Iniciar Trabalho
- Parar Tarefa
- Update Row Item
- Upload Storage File
- Wait Queue Item
- Write Storage Text
- Gravar Arquivo de Texto
- Teste
- Notas de versão
- Compatibilidade do projeto
- Sobre o pacote de atividades Testing
- O nome do caso de teste não é exclusivo no projeto
- Convenção de nomenclatura do caso de teste quebrada
- Verificações ausentes dentro do caso de teste
- Fluxos de trabalho não testados
- Test Manager conectado
- Simulação não usada
- Caso de teste sem anotações
- Caso de teste/fluxo de trabalho muito complexo
- O caso de teste possui muitas ramificações
- Configurações do projeto
- Add Test Data Queue Item
- Address
- Attach Document
- Bulk Add Test Data Queue Items
- Delete Test Data Queue Items
- Get Test Data Queue Item
- Get Test Data Queue Items
- Given Name
- Sobrenome
- Random Date
- Random Number
- Random String
- Random Value
- Verify Control Attribute
- Verify Expression
- Verify Expression with Operator
- Verify Range
- Address
- Add Test Data Queue Item
- Attach Document
- Bulk Add Test Data Queue Items
- Delete Test Data Queue Items
- Get Test Data Queue Item
- Get Test Data Queue Items
- GivenName
- Sobrenome
- Random Date
- Random Number
- Random String
- Random Value
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- Verify Expression
- Verify Expression with Operator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- Verify Range
- Workflow Events
- Workflow Foundation
Join Data Tables
UiPath.Core.Activities.JoinDataTables
Combina linhas de duas tabelas usando valores comuns entre elas de acordo com uma regra de Junção, especificada na propriedade TipoDeJunção.
-
Tabela de dados 1 — a primeira tabela que você deseja usar na operação de Junção, armazenada em uma variável
DataTable
. Esse campo é compatível apenas com variáveisDataTable
.
-
Tabela de dados 2 — a segunda tabela que você deseja usar na operação de Junção, armazenada em uma variável
DataTable
. Esse campo é compatível apenas com variáveisDataTable
.
-
TipoDeJunção — o tipo de operação de Junção que você deseja usar. As seguintes opções estão disponíveis:
- Interna — mantenha todas as linhas da TabelaDeDados1 e da TabelaDeDados2 que atendem à regra de Junção. Quaisquer linhas que não atendem à regra são removidas da tabela resultante.
- Esquerda — mantenha todas as linhas da TabelaDeDados1 e apenas os valores que atendem à regra de Junção da TabelaDeDados2. São inseridos valores nulos na coluna para as linhas da TabelaDeDados1 que não têm uma correspondência nas linhas da TabelaDeDados2.
-
Completa — mantém todas as linhas da TabelaDeDados1 e da TabelaDeDados2, independentemente de a condição de Junção ser atendida ou não. São adicionados valores nulos nas linhas de ambas as tabelas que não têm uma correspondência.
Observação: se uma coluna da TabelaDeDados2 compartilha o mesmo nome que uma coluna da TabelaDeDados1, então o nome da coluna da TabelaDeDados2 é alterado para[ColumnName]_1
na tabela resultante. Se uma coluna com o nome[ColumnName]_1
já existir, será usado o número consecutivo que ainda não estiver em uso. Por exemplo, se a TabelaDeDados1 tiver colunas com os nomes ID, ID_1 e ID_2, e a TabelaDeDados2 tiver uma coluna com o nome ID, após a junção, a coluna na TabelaDeDados2 receberá o nome de ID_3.
-
Regras de Junção — As condições para unir as tabelas. A seleção do campo abre um Construtor de Filtros simples, no qual você pode adicionar regras que compõem o filtro.
Painel de Propriedades
Comum
- NomeDeExibição - o nome de exibição da atividade.
Entrada
- TabelaDeDados1 — a primeira tabela que você deseja usar na operação de Junção, armazenada em uma variável
DataTable
. Este campo é compatível apenas com variáveisDataTable
. -
TabelaDeDados2 — a segunda tabela que você deseja usar na operação de Junção, armazenada em uma variável
DataTable
. Este campo é compatível apenas com variáveisDataTable
.Observação: a ordem em que as duas tabelas são fornecidas é muito importante, porque influencia a estrutura da tabela resultante, conforme a opção selecionada no campo da propriedade TipoDeJunção.
Diversos
- Privado - Se selecionado, os valores de variáveis e argumentos não são mais registrados no nível Verbose.
Opções
-
TipoDeJunção — o tipo de operação de Junção que você deseja usar. As seguintes opções estão disponíveis:
- Interna — mantenha todas as linhas da TabelaDeDados1 e da TabelaDeDados2 que atendem à regra de Junção. Quaisquer linhas que não atendem à regra são removidas da tabela resultante.
- Esquerda — mantenha todas as linhas da TabelaDeDados1 e apenas os valores que atendem à regra de Junção da TabelaDeDados2. São inseridos valores nulos na coluna para as linhas da TabelaDeDados1 que não têm uma correspondência nas linhas da TabelaDeDados2.
-
Completa — mantém todas as linhas da TabelaDeDados1 e da TabelaDeDados2, independentemente de a condição de Junção ser atendida ou não. São adicionados valores nulos nas linhas de ambas as tabelas que não têm uma correspondência.
Observação: se uma coluna da TabelaDeDados2 compartilha o mesmo nome que uma coluna da TabelaDeDados1, então o nome da coluna da TabelaDeDados2 é alterado para[ColumnName]_1
na tabela resultante. Se uma coluna com o nome[ColumnName]_1
já existir, será usado o número consecutivo que ainda não estiver em uso. Por exemplo, se a TabelaDeDados1 tiver colunas com os nomes ID, ID_1 e ID_2, e a TabelaDeDados2 tiver uma coluna com o nome ID, após a junção, a coluna na TabelaDeDados2 receberá o nome de ID_3.
Saída
- TabelaDeDados — a tabela com os valores unidos, armazenada em uma variável
DataTable
. Este campo é compatível apenas com variáveisDataTable
.
Assistente de Associação
Este assistente ajuda a configurar as propriedades da atividade Join Data Tables. Ele pode ser aberto usando o botão do Assistente de Junção no corpo da atividade no painel Designer.
DataTable
que você deseja usar na operação, o tipo de Junção e a variável de saída, utilizando os seguintes campos:
- TabelaDeDados1 de Entrada — a variável
DataTable
que contém a primeira tabela que você deseja usar. - TabelaDeDados2 de Entrada — a variável
DataTable
que contém a segunda tabela que você deseja usar. - TabelaDeDados de Saída — a variável
DataTable
em que você deseja armazenar a tabela resultante. - Tipo de Junção — o tipo de operação de Junção que você deseja usar. As seguintes opções estão disponíveis:
- Interna — mantenha todas as linhas da TabelaDeDados1 e da TabelaDeDados2 que atendem à regra de Junção. Quaisquer linhas que não atendem à regra são removidas da tabela resultante.
- Esquerda — mantenha todas as linhas da TabelaDeDados1 e apenas os valores que atendem à regra de Junção da TabelaDeDados2. São inseridos valores nulos na coluna para as linhas da TabelaDeDados1 que não têm uma correspondência nas linhas da TabelaDeDados2.
- Completa — mantém todas as linhas da TabelaDeDados1 e da TabelaDeDados2, independentemente de a condição de Junção ser atendida ou não. São adicionados valores nulos nas linhas de ambas as tabelas que não têm uma correspondência.
Na seção inferior do assistente, você pode configurar a estrutura da tabela resultante, adicionando expressões que indicam relações entre colunas. Cada uma dessas expressões possui três elementos, como mostrado a seguir:
- Coluna da Tabela 1 — o nome da coluna na primeira tabela. Este campo é compatível apenas com variáveis
String
que contêm o nome da coluna, variáveisInt32
que contêm o índice da coluna ou variáveisExcelColumn
. -
Operação — a operação que define a relação entre as colunas. As seguintes opções estão disponíveis:
- = — igual a
- != — não é igual a
- > - Maior que
- < - menor que
- >= - Maior ou igual a
- <= - Menor ou igual a
- Coluna da Tabela 2 — o nome da coluna na segunda tabela. Este campo é compatível apenas com variáveis
String
que contêm o nome da coluna, variáveisInt32
que contêm o índice da coluna ou variáveisExcelColumn
.
Para exemplificar como usar esta atividade, criamos um projeto que junta duas planilhas de uma pasta de trabalho em outra planilha dessa pasta de trabalho. A primeira planilha contém detalhes sobre pedidos, enquanto a segunda planilha contém detalhes sobre clientes. As duas planilhas têm uma coluna em comum, a CustomerID, que é usada para a operação de junção. O projeto pode ser baixado aqui.
- Crie um Projeto em branco.
- Arraste um contêiner Sequência para um painel Designer.
- Arraste uma atividade Excel Application Scope e coloque o caminho da pasta de trabalho do Excel na propriedade Caminho da Pasta de Trabalho.
- Crie duas variáveis
DataTable
, uma para a planilha Customers e outra para a planilha Orders. - Dentro da atividade Excel Application Scope, arraste duas atividades Read Range.
- Defina duas atividades Read Range para ler cada uma das planilhas na pasta de trabalho do Excel e armazene elas em suas variáveis correspondentes.
- Crie uma variável
DataTable
para armazenar a tabela resultante. - Arraste uma atividade Join Data Tables para o contêiner do escopo.
- Clique no botão do Assistente de Junção no corpo da atividade. O Assistente de Junção de Tabelas de Dados será aberto.
- Defina a variável que contém a planilha Customers no campo TabelaDeDados1 de Entrada.
- Defina a variável que contém a planilha Orders no campo TabelaDeDados2 de Entrada.
- Defina a variável criada para armazenar a tabela resultante no campo TabelaDeDados de Saída.
- No menu suspenso Tipo de Junção, selecione Interna.
- No campo Coluna da Tabela 1, insira a coluna que corresponde à coluna CustomerID na planilha Customers.
- No menu suspenso Operação, selecione =.
-
No campo Coluna da Tabela 2, insira a coluna que corresponde à coluna CustomerID na planilha Orders. O Assistente deve ficar assim:
- Arraste uma atividade Write Range para o painel Designer.
- Configure a Write Range para escrever a variável
DataTable
que contém a tabela resultante em uma nova planilha na pasta de trabalho inicial. -
O fluxo de trabalho final deve ficar assim: