- Notas de versão
- Antes de começar
- Introdução
- Integrações
- Como trabalhar com aplicativos de processo
- Como trabalhar com painéis e gráficos
- Como trabalhar com gráficos de processo
- Trabalhando com Descubra modelos de processo e Importar modelos BPMN
- Showing or hiding the menu
- Informações de contexto
- Exportar
- Filtros
- Envio de ideias de automação ao UiPath® Automation Hub
- Tags
- Datas de conclusão
- Comparar
- Verificação de conformidade
- Análise de causa raiz
- Simulação de Potencial de Automação
- Iniciar um projeto do Task Mining a partir do Process Mining
- Triggering an automation from a process app
- Exibição de dados do processo
- Criação de aplicativos
- Carregamento de dados
- Personalização de aplicativos de processo
- Introdução aos painéis
- Criação de painéis
- Painéis
- Gerenciador de automação
- Input data
- Definição de novas tabelas de entrada
- Adicionando campos
- Adição de tabelas
- Requisitos do modelo de dados
- Exibição e edição do modelo de dados
- Exportando e importando transformações
- Visualização dos logs de transformações
- Edição e teste de transformações de dados
- Structure of transformations
- Mesclando logs de evento
- Tips for writing SQL
- Gerenciador de processos
- Publicação de aplicativos de processos
- Modelos de apps
- Recursos adicionais

Process Mining
Structure of transformations
models\
na seção Transformações de Transformações de dados é organizada de acordo com a estrutura das etapas de transformação.
A etapa de entrada é usada para carregar os dados brutos. As seguintes operações são normalmente feitas para preparar os dados para as próximas etapas de transformação:
- Selecione campos com a macro opcional e obrigatória. Um campo não precisa estar presente nos dados brutos quando a macro opcional é usada.
- Digite campos de conversão para os tipos de dados apropriados.
-
Filtre as tabelas para reduzir o tamanho dos dados no início das transformações.
_input
às tabelas de entrada.
optional
do pacote pm-utils
deve ser usada. Isso garante que um campo obtenha o valor null
caso não esteja disponível nos dados de origem. Dessa forma, todas as transformações serão executadas corretamente.
-
Use a macro optional_table() se toda a tabela for opcional.
Na etapa Objeto, as tabelas de entrada são transformadas em tabelas de objeto. Cada objeto necessário para os eventos esperados deve ter sua própria tabela. Consulte Criação de um log de evento. Além disso, o objeto de suporte também pode ser definido aqui.
Invoices_input
, Invoice_types_input
e Customers_input
são unidas para criar a tabela de objeto Faturas.
Siga estas diretrizes ao criar uma tabela de objetos.
- Há um campo de ID do objeto, que é exclusivo para cada registro de dados.
- Todos os campos do objeto necessários para a análise de dados estão presentes.
- Todos os campos do objeto têm nomes que são fáceis de entender.
Invoice_ID
.
Nem todas as tabelas de entrada são transformadas em tabelas de objeto. Além disso, outras tabelas de entrada podem conter informações relevantes, como a tabela Customers, no exemplo. Pode ser conveniente defini-los na etapa Objetos como tabelas separadas, para que eles possam ser reutilizados nas transformações de dados.
3. events
não está presente nas transformações para aplicativos Log de evento e Processo personalizado.
Nesta etapa de transformação, as tabelas de eventos são criadas para cada objeto. Confira Criando um log de evento. Cada registro em uma tabela de evento representa um evento que ocorreu. Há dois cenários sobre como os dados são estruturados:
- Campos de carimbo de data/hora: campos em uma tabela de objeto com um carimbo de data/hora de um evento. Por exemplo, o campo
Invoice_created
em uma tabelaInvoices
. - Log de transações: uma lista de eventos.
Com base em como os dados são estruturados, as transformações para criar as tabelas de eventos são diferentes.
Nesse cenário, os valores de um campo de carimbo de data/hora devem ser transformados em registros separados em uma tabela de eventos. O exemplo a seguir é uma tabela de faturas que contém três campos de carimbo de data/hora.
Cada campo de carimbo de data/hora é usado para criar uma tabela de eventos separada. Para cada registro que o campo carimbo de data/hora contém um valor, crie uma tabela com o ID da Nota Fiscal, o nome do evento (Atividade) e o carimbo de data/hora em que o evento ocorreu (Fim do evento).
Invoices_input table
é dividido em Invoice_events_Create_invoice
, Invoice_events_Delete_invoice
e Invoices_events_Change_invoice_price
.
Invoices_events
.
Se os eventos forem armazenados em um log de transações, os eventos relevantes por objeto devem ser identificados. Crie uma tabela por objeto e armazene o ID do objeto correspondente, o nome do evento (Atividade) e o carimbo de data/hora em que o evento ocorreu (Fim do evento).
Os seguintes campos são obrigatórios em uma tabela de eventos. Todos os registros nas tabelas de eventos devem conter um valor para esses campos.
Campo |
Description |
---|---|
ID do Objeto |
ID do objeto para o qual o evento acontece. Por exemplo, o ID da fatura. |
Atividade |
A atividade descreve qual ação ocorreu no objeto. |
Event end |
O campo de término do evento indica quando o evento específico foi concluído. Idealmente, este deve ser um campo de data e hora, em vez de uma data. |
[Activity] + _events
para criar um arquivo de evento por atividade ou [Object] + _events
para criar um arquivo de evento por objeto. Por exemplo, Purchase_order_created_events
, Purchase_order_approved_events
ou um arquivo com todas as atividades de ordem de compra combinadas Purchase_order_events
.
Quando o processo contém um objeto, nenhuma transformação adicional é necessária nesta etapa. As tabelas de objeto único e de eventos já estão no formato correto.
Quando vários objetos estão envolvidos em um processo, os eventos de todos os objetos precisam estar vinculados ao objeto principal, que é considerado o "Caso" no processo. Consulte Definir o log de evento para obter detalhes. As etapas a seguir descrevem como relacionar todos os eventos ao objeto principal e como combiná-los em um único log de evento.
Crie uma tabela "relações de objeto" para centralizar as relações entre todos os objetos. Essa tabela de relações de objetos conterá os campos de ID dos objetos relacionados.
Para criar a tabela de relações de objetos, associe todas as tabelas de objetos com base em seus campos de ID:
- Comece com o objeto principal
- Una objetos relacionados ao objeto principal com um left join.
- Se os objetos não estiverem relacionados diretamente ao objeto principal, à esquerda, vincule-os aos objetos relacionados que já estão associados ao objeto principal.
No exemplo a seguir, há três objetos: Ordem de compra,Linha da fatura e Fatura. A Ordem de compra é considerada o objeto principal no processo. A linha de fatura está diretamente vinculada à ordem de compra e a fatura está vinculada indiretamente por meio da linha da fatura.
Object_relations as (
select
Purchase_orders."Purchase_order_ID"
Invoice_lines.Invoice_line_ID
"Invoices.Invoice_ID"
from Purchase_orders
left join Invoice_lines
on Purchase_orders."Purchase_order_ID" = "Invoice_lines."Purchase_order_ID"
left join Invoices
on Invoice_lines."Invoice_ID" = Invoices."Invoice_ID
)
Object_relations as (
select
Purchase_orders."Purchase_order_ID"
Invoice_lines.Invoice_line_ID
"Invoices.Invoice_ID"
from Purchase_orders
left join Invoice_lines
on Purchase_orders."Purchase_order_ID" = "Invoice_lines."Purchase_order_ID"
left join Invoices
on Invoice_lines."Invoice_ID" = Invoices."Invoice_ID
)
A ilustração a seguir mostra a tabela de relações de objetos resultante.
As relações individuais entre o objeto principal e cada outro objeto são armazenadas em tabelas separadas, usando as informações combinadas da tabela de relações entre objetos.
Relation_invoice_lines as (
select
Object_relations."Purchase_order_ID"
Object_relations."Invoice_line_ID"
from Object_relations
group by "Purchase_order_ID", "Invoice_line_ID"
)
Relation_invoice_lines as (
select
Object_relations."Purchase_order_ID"
Object_relations."Invoice_line_ID"
from Object_relations
group by "Purchase_order_ID", "Invoice_line_ID"
)
Relation_invoices as (
select
Object_relations."Purchase_order_ID"
Object_relations."Invoice_ID"
from Object_relations
group by "Purchase_order_ID", "Invoice_ID"
)
Relation_invoices as (
select
Object_relations."Purchase_order_ID"
Object_relations."Invoice_ID"
from Object_relations
group by "Purchase_order_ID", "Invoice_ID"
)
O próximo passo é usar essas relações para adicionar o “ID do caso” correspondente a cada tabela de evento. O "ID do caso" é obtido através da tabela de relação, onde as informações de evento são obtidas da tabela de evento. Para criar o log de evento completo, as tabelas de evento para cada objeto são unidas.
Purchase_order_event_log as (
select
Purchase_order_events."Purchase_order_ID"
Purchase_order_events."Activity"
Purchase_order_events."Event_end"
from Purchase_order_events
union all
select
Relation_invoice_lines."Purchase_order_ID"
Invoice_line_events."Activity"
Invoice_line_events."Event_end"
from Invoice_line_events
inner join Relation_invoice_lines
on Invoice_line_events."Invoice_line_ID" = "Relation_invoice_lines."Invoice_line_ID"
union all
select
Relation_invoices."Purchase_order_ID"
Invoice_events. "Activity"
Invoice_events. "Event_end"
from Invoice_events
inner join Relation_invoices
on Invoice_events."Invoice_line_ID" = Relation_invoices."Invoice_line_ID"
)
Purchase_order_event_log as (
select
Purchase_order_events."Purchase_order_ID"
Purchase_order_events."Activity"
Purchase_order_events."Event_end"
from Purchase_order_events
union all
select
Relation_invoice_lines."Purchase_order_ID"
Invoice_line_events."Activity"
Invoice_line_events."Event_end"
from Invoice_line_events
inner join Relation_invoice_lines
on Invoice_line_events."Invoice_line_ID" = "Relation_invoice_lines."Invoice_line_ID"
union all
select
Relation_invoices."Purchase_order_ID"
Invoice_events. "Activity"
Invoice_events. "Event_end"
from Invoice_events
inner join Relation_invoices
on Invoice_events."Invoice_line_ID" = Relation_invoices."Invoice_line_ID"
)
Na última etapa de transformação, a lógica de negócios é adicionada conforme necessário para a análise de dados. Campos derivados adicionais podem ser adicionados a tabelas existentes aqui. Por exemplo, tempos de rendimento específicos ou campos booleanos usados em KPIs em painéis.
Tags
e Due dates
.
As tags são propriedades de objetos, que significam certas regras de negócios. As tags normalmente são adicionadas para facilitar a análise dessas regras de negócios. Por exemplo:
- Fatura paga e aprovada pela mesma pessoa.
- A aprovação da fatura demorou mais de 10 dias.
- Verifique a atividade da fatura ignorada.
Object ID
e o Tag
. Nem todos os objetos terão uma tag e alguns objetos podem ter várias tags. A ilustração a seguir mostra um exemplo de uma tabela de Tags.
Apenas uma tabela de Tags é permitida no modelo de dados.
As datas de vencimento representam prazos no processo. Estes são adicionados aos dados para analisar se as atividades são executadas a tempo para essas datas de vencimento ou não.
Cada registro na tabela de datas de conclusão representa uma data de conclusão para um determinado objeto. Alguns exemplos de datas de conclusão são:
- um prazo de pagamento para um pagamento.
- um prazo de aprovação para uma ordem de compra.
Object ID
, Due date
, Actual date
e Expected date
.
Apenas uma tabela de Datas de vencimento é permitida no modelo de dados.
- Visão geral
- 1. Entrada
- Convenção de nomenclatura
- Campos opcionais
- 2. Objetos
- Diretrizes
- Additional transformations
- Convenção de nomenclatura
- 3. Eventos
- Timestamp fields
- Log de transação
- Convenção de nomenclatura
- 4. Logs de evento
- Processo de objeto único
- Processo de vários objetos
- Relacionamentos de objeto
- Relation tables
- Log de Evento
- Convenção de nomenclatura
- 5. Lógica de negócios
- Tags
- Datas de conclusão