Skip to content
RATH
Preparar Dados
Customized Computation

Cálculo Personalizado

O cálculo personalizado é um recurso poderoso fornecido pelo RATH, permitindo que você edite seus dados com expressões regulares de maneira flexível.

Console de Cálculo Personalizado

Após importar os dados de sua fonte de dados selecionada, você pode clicar no botão de Cálculo Personalizado para abrir o console.

O Console de Cálculo Personalizado possui um editor localizado no canto superior esquerdo, onde você pode inserir expressões regulares. O RATH irá sugerir sugestões à medida que você digita, e você pode confirmar a sugestão clicando na sugestão ou pressionando a tecla Tab.

Se uma expressão for inválida, uma mensagem de erro será exibida no canto inferior esquerdo. Se a expressão for válida, a visualização de saída (Gráficos de Distribuição) da coluna será atualizada em tempo real à direita. Use o Console de Cálculo Personalizado

Sintaxe da Expressão

Básico

Campos

As expressões de Cálculo Personalizado se referem a um campo (original e expandido) pelo ID do campo. No editor, você pode inserir o nome do campo, após correspondência inteligente para o campo correspondente, selecione a conclusão automática.

Tipos de campo

O tipo de dados do campo em questão na expressão de Cálculo Personalizado, o tipo original inclui os seguintes três tipos:

  • Tipo set: um tipo de número ordenado, representando um número ordinal, não envolvido em operações matemáticas
  • Tipo group: tipo discreto de número, envolvido em operações matemáticas
  • Tipo collection: tipo string

O operador da expressão de Cálculo Personalizado está fortemente associado ao tipo de dados e, se necessário, use o operador correspondente para transformar a coluna (isso construirá uma nova coluna em vez de alterar a coluna original).

Literais

As expressões de Cálculo Personalizado oferecem suporte parcial a literais de número e string do JavaScript.

Declaração

As expressões de Cálculo Personalizado são compostas por operadores, referências de campo, literais e operadores. Os operadores são o cerne da funcionalidade do Cálculo Personalizado. As expressões de Cálculo Personalizado devem usar operadores aninháveis e gerar e exportar pelo menos um novo campo. A expressão de Cálculo Personalizado mais externa pode dividir várias declarações de cálculo com vírgulas (",") para criar rapidamente alguns campos independentes para o processo de cálculo. Você não deve usar ponto e vírgula em expressões.

Objeto Datetime

Um objeto Datetime é um tipo especial de objeto retornado pelo operador $toDate. Uma exportação direta gerará um campo com carimbo de data/hora (coluna do tipo group). Também pode ser cortado para construir novas colunas únicas ou múltiplas. A sintaxe de corte é <objeto datetime>.<tag da dimensão>. As notações de dimensão válidas incluem Y, M, W, D, h, m, s.

Operador

Os operadores são funções que operam em campos ou outros objetos. Os identificadores de operador começam com o símbolo $. A sintaxe de chamada para um operador é <operador>(<parâmetro 1>, <parâmetro 2>...).

Palavras-chave

Operador out

Para uma nova coluna expandida gerada por um cálculo, adicione a palavra-chave out antes da declaração de cálculo para exportá-la. O operador out pode ser colocado em qualquer nível de uma operação aninhada. **As expressões de Cálculo Personalizado devem conter pelo menos uma declaração out. ** Você pode adicionar uma palavra sem caracteres especiais após a palavra-chave out como o nome da exportação.Traduza o seguinte mdx com frontmatter para o Português Brasileiro: campo ted. Em particular, para o campo gerado pelas quatro operações aritméticas, seu nome deve ser explicitamente declarado.

Exemplos:

Operadores comuns

Conversão de tipo

$set(group|collection) -> set

Converte uma coluna do tipo conjunto (set) a partir de uma coluna de tipo não-conjunto (set).

$group(set|collection) -> group

Transforma uma coluna do tipo grupo (group) a partir de uma coluna de tipo não-grupo (group). Útil quando se realizam operações matemáticas em campos (é necessário estar certo de que as operações fazem sentido).

$nominal(set|group) -> collection

Transforma uma coluna do tipo coleção (collection) a partir de uma coluna de tipo não-coleção (collection).

Geração de número ordinal

$id() -> set

Gera IDs a partir de 1.

$order(set|group) -> set

Gera ordem matemática (iniciando em 1) de todas as linhas de um campo.

$dict(collection) -> set

Gera ordem lexicográfica (iniciando em 1) de todas as linhas de um campo.

Padronização de dados

$inset(group) -> group

Padroniza um campo para um intervalo de -1 a 1.

$bound(group) -> group

Padroniza um campo para um intervalo de 0 a 1.

$normalize(group) -> group

Normaliza um campo usando o escore Z.

Transformação não-linear

$log(group) -> group, $log(group, JS.number) -> group

Mapeamento logarítmico, a base pode ser fornecida e o padrão é o logaritmo natural.

$log2(group) -> group

$log10(group) -> group

$log1p(group) -> group

Equivalente a $log(group + 1).

$sigmoid(group) -> group

$ReLU(group) -> group

Limpeza de dados

$isNaN(set|group) -> collection

Retorna "1" se uma linha é NaN em um campo ou "0" se não.

$isZero(set|group) -> collection

Retorna "1" se a linha é 0 em um determinado campo, ou "0" se não.

$zeroFill(group) -> group

Mapear outliers (±Infinity | NaN) da linha em um campo para 0.

$meanFill(group) -> group

Mapear outliers (±Infinity|NaN) dessa linha em um determinado campo para a média dos valores não-outliers.

$nearestClip(group, JS.number, JS.number) -> group

Fornece um intervalo, e o valor da linha em um determinado campo que excede esse intervalo é mapeado para o valor limite mais próximo como um outlier.

$meanClip(group, JS.number, JS.number) -> group

Fornece um intervalo, e o valor da linha em um campo que está fora desse intervalo é mapeado para o valor médio dos valores não-outlier como outliers.

$boxClip(group) -> group

Usar estatísticas de boxplot para marcar outliers em um campo e substituí-los por NaN.

Manipulação de string

$concat(collection, ...collection) -> collection, $concat(JS.string, collection, ...collection) -> collection

Concatena o conteúdo de várias colunas de string sequencialmente com um delimitador (, por padrão) como uma nova coluna.

Data e hora

$toDate(group|set|collection)

Este operador introduz um tipo especial de DateTime e retorna uma instância desse objeto.

Melhores práticas

Transformação de normalização

Mapeamento não-linear

Neste caso, tentamos transformar a coluna casual do Bike Sharing Demo Database com mapeamento não linear. Mapeamento não linear

Recuperar informações de data e hora

Podemos recuperar informações de data e hora do Bike Sharing Demo Database, onde_c_4 é o ano e _c_1 é o mês.

Em seguida, podemos calcular o parâmetro weekday.