Free Trial

Blog

Insights e ideias das mentes mais brilhantes em análise de dados.
Rafael_Caixeta
Meteoro

Nesta dica de hoje vou mostrar uma das formas de se criar uma função através de arquivo XML e utilizá-la dentro do Alteryx.

 

Vamos falar de uma função bem básica que as vezes se faz muito necessário em alguns tipos de processamento de dados, que é a quantidade de horas por mês levando em consideração anos bissextos e não bissextos.

 

Primeiramente em um fluxo qualquer crie sua lógica para realizar esse cálculo básico. Abaixo tem uma estrutura bem detalhada de como se faz:

 

Imagem 1.png

 

Acima foi realizada a divisão da estrutura da data em ano e mês separados e a validação se o ano tratado é bissexto ou não, para então contar as horas.

 

Imagem 2.png

 

Feita a lógica e validada, vamos seguir para a construção do arquivo XML que iremos criar para que se torne uma função acessível pela ferramenta Formula Tool.

 

Abra qualquer aplicação de desenvolvimento de sua preferência, no meu caso, estou utilizando Visual Studio Code.

 

Imagem 3.png

 

Imagem 4.png

Insira um arquivo de extensão “.xml” em uma pasta de sua preferência e vamos começar a estruturar esse código. Para seguirmos, vou colocar a imagem do código abaixo para que eu possa explicar sobre ele. 

 

Imagem 5.png

Cada “Tag” xml possui uma função e abaixo iremos falar sobre cada uma delas:

 

  1. xml: esta tag é a base de tudo, e por padrão ela recebe parâmetros básicos como podemos ver, para o correto funcionamento da estrutura. Deixe em versão "1.0" e codificação em "utf-8".
  2. FormulaAddIn: esta contempla toda a estrutura que será linda e interpretada pelo Alteryx quando exportarmos este arquivo para o local correto.
  3. Function: nela será armazenada todas as propriedades da função que iremos criar.
  4. Name: Essa será a forma com iremos chamá-la quando formos utilizar esta função na ferramenta Formula.
  5. NumParams: aqui tratamos todos os parâmetros que passamos para a formula que criamos. Esta tag possui uma propriedade que podemos observar como “variable”, ela permite que você indique se está função terá parâmetros variáveis ou não. Neste caso do cálculo de horas por mês precisamos de 2, sendo o primeiro o ano e o segundo o mês.
  6. Category: Nesse iremos definir onde iremos encontrar esta função, para essa definiremos o DateTime como seu local.
  7. InsertText: aqui como se pode observar na imagem, iremos definir como será a estrutura da função quando formos utilizá-la.
  8. Description: Aqui definiremos uma descrição breve de como é utilizada a função.
  9. Formula: nesta tag se encontra o coração da função, nela iremos colocar toda aquela lógica que estruturamos lá no começo para que possamos utilizá-la posteriormente em qualquer fluxo que sua equipe desenvolver.

Imagem 6.png

 

 

 

Como pode observar, as variáveis dentro da estrutura lógica estão definidas como P1 e P2, assim fica fácil para o interpretador do Alteryx reconhecer as variáveis na hora de rodas este arquivo. Para cada retorno é possível observar que eles foram transformados em Number e não String, isso facilita para caso você insira um valor em ambos os tipos de dados, sem a necessidade de ter que convertê-los dentro da estrutura da função.

Muito importante lembrar que a identação do seu código irá facilitar seu desenvolvimento e entendimento do que você está digitando na função de criação.

 

Agora vamos exportar este arquivo para o local correto e ver como ficou. Basta copiar ou recortar seu arquivo xml e colar dentro da pasta correta. Mas antes fique atento ao caminho.

 

 

 

 

 

 

 

 

Se você possui versão do Alteryx Designer do tipo Non-Admin ou também conhecida como User, o caminho será o seguinte:

  • C:\Program Files\Alteryx\bin\RuntimeData\FormulaAddIn

Alteryx Designer do tipo Admin o caminho será este:

  • C:\Users\rafaelcaixeta\AppData\Local\Alteryx\bin\RuntimeData\FormulaAddIn

 

Imagem 7.png

 

 

Feito isso, vamos lá testar a função no Alteryx. Para isso criei um workflow bem básico contendo um Text Input, Formula e Browser.

 

 

 

Imagem 8.png

 

 

 

Na ferramenta Text Input, inseri dois campos, um para Ano e outro para Mês, contendo dois diferentes anos, um bissexto e outro não bissexto para validar que a função está correta.

 

 

 

 

Imagem 9.png

 

 

 

 

 

 

 

Na ferramenta Formula, iremos criar uma campo chamado Teste, para retornar a quantidade de horas por mês e validar nossa criação. Podemos perceber que a função realmente já se encontra na categoria que a colocamos no momento que escrevemos o nosso xml.

 

 

 

 

 

 

Imagem 10.png

 

 

E essa é a forma como ela é inserida. Vemos que toda aquela estrutura lógica criada lá no início, deu lugar a algo bem simples e mais organizado.

 

 

 

 

Vamos ver como foi o resultado depois de toda essa criação.

 

 

Imagem 11.png

 

 

E assim você acabou de criar uma função customizada dentro do Alteryx Designer, compartilhe este arquivo entre a sua equipe e pronto, não precisa mais ficar criando o tempo todo as funções que mais se repetem em seus workflows. Seja criativo e aproveite essa dica para alavancar seus desenvolvimentos. 

 

Em breve mais AlterDicas! Até lá!

Rótulos