# Desvio

## Documentação: Funcionalidade de Desvio

### 1. Visão Geral

A funcionalidade de Desvio no Lighthouse foi desenvolvida para comparar valores entre diferentes colunas ou períodos de forma nativa, dinâmica e simplificada.

* Objetivo Principal: Facilitar a visualização de variações de custos (ex: Orçado vs. Realizado) e a análise detalhada de descontos contratuais (ex: AWS SPP e EDP).

***

### 2. Tipos de Desvio

Existem dois modelos principais de configuração para atender diferentes necessidades analíticas:

#### A. Desvio entre Colunas (Desvio de Dados)

Compara valores entre dois campos distintos dentro do mesmo conjunto de dados.

* **Caso de Uso Comum**: Calcular a diferença entre o Custo Unblended (custo bruto) e o Custo Net Unblended (custo com descontos aplicados). Isso permite mensurar o impacto real de descontos como SPP e EDP em comparação ao uso *On-Demand*.
* **Importância dos Filtros**: Para análises de descontos, a aplicação de filtros de utilização é crucial. Sem o refinamento adequado, os valores das colunas podem coincidir, mascarando o desvio real.

#### B. Desvio de Período

Compara os valores de um mesmo campo em intervalos de tempo diferentes (análise temporal).

* **Configuração**: O usuário seleciona a granularidade do período (diário, semanal ou mensal) e define o intervalo de comparação (ex: comparar o custo de hoje com o mesmo dia na semana anterior: D1 vs D-7).

***

### 3. Casos de Uso Identificados

* **Orçamento vs. Realizado:** Comparação essencial para o controle financeiro, permitindo identificar rapidamente desvios de orçamento.
* **Monitoramento de Infraestrutura**: Uso de intervalos não contínuos para monitorar o comportamento de recursos (ex: detectar picos de consumo entre comparações semanais ou mensais)

***

### 4. Benefícios da Funcionalidade

* **Agilidade**: Simplificação no processo de BI para criar desvios e comparativos
* **Visualização Dinâmica:** Os desvios são recalculados automaticamente conforme os filtros de data e categoria são aplicados na plataforma.

***

### Para acesso e utilização na plataforma:

**Passo 1:** Em Workspaces, selecione o Workspace desejado;

**Passo 2:** Dentro do Workspace, selecione **Nova Visualização**;

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FOtWAgLdfwjkD5GbFj3aW%2Fimage.png?alt=media&#x26;token=07790528-6cb0-4d13-8fbe-a444157cf69c" alt=""><figcaption></figcaption></figure>

**Passo 3:** Clicar na opção de "**Configuração**"&#x20;

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2F87GtvoM5nvEjgcbzvmTS%2Fimage.png?alt=media&#x26;token=157bf44b-8e8d-4a80-9d28-84da734665a4" alt=""><figcaption></figcaption></figure>

**Passo 4:** Ao deslizar nas opções na lateral, a função desvio estará no final da seção.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2F4pn9FqNt1wKWg7IIXPmR%2Fimage.png?alt=media&#x26;token=f15e3545-f6e3-4b4a-bbfa-506833d09602" alt=""><figcaption></figcaption></figure>

**Passo 5**: Ao selecionar desvio, você terá a opção de adicionar os campos para criação da sua visualização.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FP5CIhyUPT1z0AxyEy13w%2Fimage.png?alt=media&#x26;token=a95208e7-c8ef-4fdc-84ef-3e060972a954" alt=""><figcaption></figcaption></figure>

***

## **Desvio de Dados**

**Passo 1**: Selecione o desvio desejado:

* **Desvio de Dados -** Compara valores entre dois campos diferentes.
* **Desvio de Período** - Compara valores do mesmo campo em períodos diferentes.

após isso, clique em **próximo.**&#x20;

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FCXO4hbjYD9uTdhMU9JP3%2Fimage.png?alt=media&#x26;token=61ca376c-d99a-419d-ba7a-e20beb83da1c" alt=""><figcaption></figcaption></figure>

**Passo 2**: Na aba de "**Cálculo**", temos duas opções para criação da visualização:

* **Desvio Nominal:** Diferença absoluta entre dois valores (Primeiro Campo - Segundo Campo).&#x20;
* **Desvio Percentual:** Diferença percentual entre dois valores ((Primeiro Campo- Segundo Campo) / Segundo Campo \* 100)

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FtG3oK3Y7fiu0NjuvBIDB%2Fimage.png?alt=media&#x26;token=09e4ba2d-e9da-4e3e-9e45-12d80eceaa66" alt=""><figcaption></figcaption></figure>

**Passo 3**:  Na aba de "**Primeiro Campo**"  você fará a configuração dos campos e expressões.

Nesta etapa, você deve definir as métricas que irão compor o cálculo do desvio:

* **Primeiro Campo (Métrica Base):** Selecione o campo principal para a análise. Defina a Expressão (ex: SOMA, MÉDIA, CONTAGEM) que determinará como os dados brutos serão processados.

{% hint style="info" %}
Comparação de Expressões: O Lighthouse permite comparar diferentes agregadores entre si. Você pode, por exemplo, confrontar a Média de um indicador com a Soma de outro, permitindo uma análise comparativa flexível e a geração de insights personalizados sobre o comportamento dos dados.
{% endhint %}

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FnMV0DuHCozurtIoo6Nws%2Fimage.png?alt=media&#x26;token=56061e55-a627-4129-bd90-2aa4ee7b272d" alt=""><figcaption></figcaption></figure>

**Passo 4**: Na aba de "**Segundo Campo**", você configurará a métrica que será utilizada como o valor a subtrair da equação (o valor que será deduzido do Primeiro Campo).

Nesta etapa, você define o comparativo para gerar o desvio:

* **Segundo Campo (Métrica de Comparação)**: Selecione o campo que será subtraído do valor base. Assim como no passo anterior, escolha a Expressão adequada (ex: SOMA, MÉDIA, CONTAGEM) para consolidar esses valores.

{% hint style="info" %}
Comparação de Expressões: O Lighthouse permite comparar diferentes agregadores entre si. Você pode, por exemplo, confrontar a Média de um indicador com a Soma de outro, permitindo uma análise comparativa flexível e a geração de insights personalizados sobre o comportamento dos dados.
{% endhint %}

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FtEYWifCfoMvL5ZNtzstf%2Fimage.png?alt=media&#x26;token=f2a75345-33ea-4085-ad3c-565c0fb9cf68" alt=""><figcaption></figcaption></figure>

&#x20;**Passo 5**: Na aba de "**Configuração**", temos algumas opções para configurar o resultado da sua equação, permitindo que voce personalize o nome&#x20;

**Geral**:

* **Apelido:** informe um apelido a ser exibido na coluna;

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FxAfxIlxE7sP2b3aAmDEF%2Fimage.png?alt=media&#x26;token=aa08251e-77fe-4ce7-be9e-d709bf754b62" alt=""><figcaption></figcaption></figure>

**Configuração**:&#x20;

* **Ordenação:** Opção para ordenar a exibição dos dados de do maior para o menor, como por exemplo, do maior desconto para o menor.&#x20;
* **Orientação:** Eixo do gráfico, direito ou esquerdo.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FzPbSf8DVOxFWM9cOXRT2%2Fimage.png?alt=media&#x26;token=9dedef6e-dafe-46d8-84ca-e650d14a09a7" alt=""><figcaption></figcaption></figure>

**Formatar**

* Para campos do tipo **número:**
  * **Decimais**: Quantidade de casas decimais utilizado na visualização;
  * **Unidade**: Unidade de medida do campo em questão (USD, BRL, MEX, CNY, EUR, ANG, COP, DOP, ARS, PEN, UYU, MB, GB, TB, Percent).
  * **Notação**: Notação que pode ser utilizada no campo (Compacta e Científica).

* **Regras de cor:** Defina cores personalizadas que serão aplicadas automaticamente conforme os critérios estabelecidos.
  * **Regra**: Selecione a condição lógica desejada (entre, maior que, menor que, maior ou igual a, menor ou igual a).
  * **Valor**: Informe o valor numérico de referência para a validação da regra.
  * **Cor**: Escolha a cor que será aplicada ao campo quando o critério acima for atendido.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FtGGIkMD2XM82qxAvOXY4%2Fimage.png?alt=media&#x26;token=e9395ae7-c931-4a7d-b1dc-7767dd145ac1" alt=""><figcaption></figcaption></figure>

**Segmentar por**

* **Prefixo:** Entre com o nome correspondente ao campo
* **Campo**: Selecione a informação que irá agrupar e sumarizar os valores de seu gráfico, por exemplo, total por região;
* **Quantidade**: Informe a quantidade de itens que serão visualizados no gráfico, exemplo 10 maiores valores.
* Agrupar excedente em **Outros**: Selecione essa opção caso deseje agrupar o excedente em um novo tipo chamado **Outros**.
* **Manter agrupado**: Habilite esta opção caso deseje que as novas colunas sejam agrupadas sob a referência da coluna original.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2F1G3VcTDFmTDr16UAhtCk%2Fimage.png?alt=media&#x26;token=4b13bcce-773b-4a77-9a76-02363bf39caf" alt=""><figcaption></figcaption></figure>

**Gráfico**

* **Tipo de Visualização**: Selecione entre gráfico de linhas, de áreas ou de barras.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FDwTrUUid30wA7Kl4EqtK%2Fimage.png?alt=media&#x26;token=ad0afff3-14ca-4209-ba5c-75648ecc4e8d" alt=""><figcaption></figcaption></figure>

***

## **Desvio de Período**

**Passo 1**: Selecione o desvio desejado:

* **Desvio de Dados -** Compara valores entre dois campos diferentes.
* **Desvio de Período** - Compara valores do mesmo campo em períodos diferentes.

após isso, clique em **próximo.**&#x20;

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FSbHe8tHm485I2MOjm2Ka%2Fimage.png?alt=media&#x26;token=72d14aed-b4e5-42b0-9f26-e72efb772634" alt=""><figcaption></figcaption></figure>

**Passo 2**: Na aba de "**Cálculo**", temos duas opções para criação da visualização:

* **Desvio Nominal:** Diferença absoluta entre dois valores (Primeiro Campo - Segundo Campo).&#x20;
* **Desvio Percentual:** Diferença percentual entre dois valores ((Primeiro Campo- Segundo Campo) / Segundo Campo \* 100)

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FtG3oK3Y7fiu0NjuvBIDB%2Fimage.png?alt=media&#x26;token=09e4ba2d-e9da-4e3e-9e45-12d80eceaa66" alt=""><figcaption></figcaption></figure>

**Passo 3**:  Na aba de "**Primeiro Campo**"  você fará a configuração dos campos e expressões.

Nesta etapa, você deve definir as métricas que irão compor o cálculo do desvio:

* **Primeiro Campo (Métrica Base):** Selecione o campo principal para a análise. Defina a Expressão (ex: SOMA, MÉDIA, CONTAGEM) que determinará como os dados brutos serão processados.

{% hint style="info" %}
Comparação de Expressões: O Lighthouse permite comparar diferentes agregadores entre si. Você pode, por exemplo, confrontar a Média de um indicador com a Soma de outro, permitindo uma análise comparativa flexível e a geração de insights personalizados sobre o comportamento dos dados.
{% endhint %}

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2F015ZvUYxVzN0GnNmRbA8%2Fimage.png?alt=media&#x26;token=e8122aa4-135e-4801-9514-deea0b7ba208" alt=""><figcaption></figcaption></figure>

**Passo 4**: Na aba de "**Periodo**", você fará a configuração do intervalo de período.&#x20;

{% hint style="info" %}
Defina o período para calcular o desvio dos valores do campo. Por exemplo, se você definir '3 meses', o desvio será calculado com base no período menos os últimos 3 meses de dados disponíveis no conjunto de dados.
{% endhint %}

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FkqfTw6DmOal5B50K3Kkp%2Fimage.png?alt=media&#x26;token=a045295b-dcf1-414e-9db1-89222c5acc82" alt=""><figcaption></figcaption></figure>

**Passo 5**: Na aba de "**Configuração**", temos algumas opções para configurar o resultado da sua equação, permitindo que voce personalize o nome&#x20;

**Geral**:

* **Apelido:** informe um apelido a ser exibido na coluna;

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FxAfxIlxE7sP2b3aAmDEF%2Fimage.png?alt=media&#x26;token=aa08251e-77fe-4ce7-be9e-d709bf754b62" alt=""><figcaption></figcaption></figure>

**Configuração**:&#x20;

* **Ordenação:** Opção para ordenar a exibição dos dados de do maior para o menor, como por exemplo, do maior desconto para o menor.&#x20;
* **Orientação:** Eixo do gráfico, direito ou esquerdo.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FzPbSf8DVOxFWM9cOXRT2%2Fimage.png?alt=media&#x26;token=9dedef6e-dafe-46d8-84ca-e650d14a09a7" alt=""><figcaption></figcaption></figure>

**Formatar**

* Para campos do tipo **número:**
  * **Decimais**: Quantidade de casas decimais utilizado na visualização;
  * **Unidade**: Unidade de medida do campo em questão (USD, BRL, MEX, CNY, EUR, ANG, COP, DOP, ARS, PEN, UYU, MB, GB, TB, Percent).
  * **Notação**: Notação que pode ser utilizada no campo (Compacta e Científica).

* **Regras de cor:** Defina cores personalizadas que serão aplicadas automaticamente conforme os critérios estabelecidos.
  * **Regra**: Selecione a condição lógica desejada (entre, maior que, menor que, maior ou igual a, menor ou igual a).
  * **Valor**: Informe o valor numérico de referência para a validação da regra.
  * **Cor**: Escolha a cor que será aplicada ao campo quando o critério acima for atendido.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FtGGIkMD2XM82qxAvOXY4%2Fimage.png?alt=media&#x26;token=e9395ae7-c931-4a7d-b1dc-7767dd145ac1" alt=""><figcaption></figcaption></figure>

**Segmentar por**

* **Prefixo:** Entre com o nome correspondente ao campo
* **Campo**: Selecione a informação que irá agrupar e sumarizar os valores de seu gráfico, por exemplo, total por região;
* **Quantidade**: Informe a quantidade de itens que serão visualizados no gráfico, exemplo 10 maiores valores.
* Agrupar excedente em **Outros**: Selecione essa opção caso deseje agrupar o excedente em um novo tipo chamado **Outros**.
* **Manter agrupado**: Habilite esta opção caso deseje que as novas colunas sejam agrupadas sob a referência da coluna original.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2F1G3VcTDFmTDr16UAhtCk%2Fimage.png?alt=media&#x26;token=4b13bcce-773b-4a77-9a76-02363bf39caf" alt=""><figcaption></figcaption></figure>

**Gráfico**

* **Tipo de Visualização**: Selecione entre gráfico de linhas, de áreas ou de barras.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FDwTrUUid30wA7Kl4EqtK%2Fimage.png?alt=media&#x26;token=ad0afff3-14ca-4209-ba5c-75648ecc4e8d" alt=""><figcaption></figcaption></figure>

***

## Exemplo de uso Pratico - Comparativo de custo de produto - Mês Atual x Mês Anterior.&#x20;

A nova funcionalidade de Desvio permite a comparação direta entre o gasto atual e o gasto do período anterior (mês a mês) para produtos AWS dentro do Lighthouse. A solução substitui o uso de *subqueries* complexas por campos calculados utilizando a função `lag`, garantindo maior performance e precisão na visualização dos dados.

#### O que a funcionalidade entrega:

* **Comparação Binária**: Exibe, na mesma linha, o custo do mês atual e o custo do mês anterior para cada produto.
* **Métricas de Desvio**: Calcula automaticamente o Desvio Absoluto (valor em moeda) e o Desvio Percentual (%) entre os períodos.
* **Inteligência de Visualização**: Utiliza a função `lag` para buscar o histórico sem sobrecarregar o banco de dados.
  * Permite a segmentação personalizada (ex: por Produto, Região ou Tag).
  * Inclui o recurso de ocultação de linhas irrelevantes, mantendo o foco apenas no período de referência atual, mesmo que o produto não tenha tido gastos no mês anterior (evitando "buracos" na análise de contas novas).

### Para acesso e utilização na plataforma:

**Passo 1:** Em Workspaces, selecione o Workspace desejado;

**Passo 2:** Dentro do Workspace, selecione **Nova Visualização**;

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FOtWAgLdfwjkD5GbFj3aW%2Fimage.png?alt=media&#x26;token=07790528-6cb0-4d13-8fbe-a444157cf69c" alt=""><figcaption></figcaption></figure>

**Passo 3**: Para esse caso específico, se faz necessário os seguintes passos:

* Incluir o campo - `bill/billingperiodstartdate`
* Incluir o campo - `product/productname`&#x20;
* Incluir o campo - `product/region`
* Nas configurações do campo, ajustar a formatação para mensal.&#x20;

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FJbIgvfkulPaheFAT91F6%2Fimage.png?alt=media&#x26;token=0d2c491d-aed8-4eb0-8bfe-5422144ed6a2" alt=""><figcaption></figcaption></figure>

**Passo 4**: Acesse a aba de "**Configurações**" e selecione "**Expandir competência para....**"&#x20;

* Defina o campo como Dinâmico.&#x20;
* Ajuste o segundo período para 0.&#x20;
* Isso permitirá comparar os dados do mês anterior com os do mês atual.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2Fog54qCaAxvjbUnnzG9gb%2Fimage.png?alt=media&#x26;token=66abb390-51a3-4840-9002-7a56d76233b5" alt=""><figcaption></figcaption></figure>

**Passo 5**: Retornando na aba de "Campos", será necessário adicionar o campo - <kbd>lineitem/unblendedcost</kbd> , para trazer os valores de custo.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FDaLDK27I9qo0sfMbH2L0%2Fimage.png?alt=media&#x26;token=e6d15e1e-0ad8-46b0-82f5-3f8f27ada63f" alt=""><figcaption></figcaption></figure>

**Passo 6**: Criação de Campo Calculado para Custos Retroativos.

Nesta etapa, vamos criar um Campo Calculado. Essa funcionalidade permite customizar dados existentes para extrair informações específicas — neste caso, os custos do mês anterior.

#### Procedimento de Acesso:

1. No painel lateral de Configuração, localize o ícone de três pontos (⋮) ao lado do nome.
2. Clique na opção "**Campos Personalizados**".
3. Uma nova sessão será aberta em seu navegador com o menu de criação.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2F5q1YP00a3Ms4Munt4Wml%2Fimage.png?alt=media&#x26;token=9405aab2-fd68-4c36-b5ad-130f3b37edd9" alt=""><figcaption></figcaption></figure>

**Passo 7**: Para a criação do seu campo calculado, basta seguir os passos abaixo onde ja trazemos um modelo que possa ser utilizados para esse caso.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FoeTuinwNrdSkJWaCru9N%2Fimage.png?alt=media&#x26;token=f50035f8-ee21-4b4d-a7ab-daba291a38a6" alt=""><figcaption></figcaption></figure>

* **Ação**: Selecionar a opção "Adicionar Campo".
* **Nome do Campo**: Utilize um identificador curto e padronizado (ex: `last_month_cost_productname`).
* **Tipo de Dados**: Selecione Number, pois o campo processará valores monetários.
* **Descrição (Opcional)**: Ex: "Calcula o custo do produto no mês anterior para análise comparativa."
* **Conector de Dados:** Selecionar "**AWS Billing**".

#### Definir SQL

Copie e cole o bloco abaixo para criar a lógica de cálculo:

SQL

```
(
  LAG(SUM("lineitem/unblendedcost"), 1) OVER (
    PARTITION BY "product/productname", "product/region"
    ORDER BY DATE_FORMAT("bill/billingperiodstartdate", '%y-%m')
  )
)
```

#### Entendendo a Lógica (O que o SQL faz?)

1. **Função LAG ("Olhar para trás"):** O numeral `1` indica que o sistema buscará o valor da linha imediatamente anterior. No seu caso, o custo total (`unblendedcost`) do período passado.
2. **PARTITION BY (Organização):** O cálculo é isolado por Produto (ex: Amazon EC2) e Região (ex: sa-east-1). Isso evita que o custo do S3 em São Paulo seja comparado erroneamente com o EC2 na Virgínia.
3. **ORDER BY (Linha do Tempo):** Organiza os dados cronologicamente por mês e ano (`%y-%m`), garantindo que o "mês anterior" siga a ordem correta do calendário.

#### Pontos de Atenção e Customização

* **Comparativos Diários:** Se desejar comparar dias em vez de meses, altere a formatação no SQL para `%y-%m-%d` e certifique-se de que o campo `bill/billingperiodstartdate` esteja configurado para granularidade diária.
* **Obrigatoriedade de Visualização:** Como utilizamos a cláusula `ORDER BY`, é obrigatório incluir o campo `bill/billingperiodstartdate` na construção da sua visualização (gráfico ou tabela). Além disso, por conta do `PARTITION BY` , também é necessário trazer os campos `product/productname` e `product/region` . Qualquer mudança no SQL, se faz necessário ajustar quais os campos a visualização precisa trazer.
* **Uso do UsageStartDate:** É possível substituir o campo de cobrança pelo `lineitem/usagestartdate`. Caso opte por essa mudança, lembre-se de atualizar a referência manualmente dentro do código SQL acima.

Retornando para aba onde temos o desenvolvimento da view, será necessário dar um "**refresh**" nos campos, para que o campo criado, venha para o contexto onde estamos trabalhando.

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2F2KcOR8poEfYX9ZCYguWx%2Fimage.png?alt=media&#x26;token=3f73403b-765a-4008-a2c2-87cd1992b560" alt=""><figcaption></figcaption></figure>

**Passo 9**: Agora, bastante digitar o nome do campo ou partes do campo criado que ele estará presente na lista de campos disponíveis para utilização. Após isso, arraste o campo até a sessão de "**Dados**" e no menu de configuração, selecione a expressão "**Nenhum**"

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2F9ZHfDS7YGLLy1u3Kzq45%2Fimage.png?alt=media&#x26;token=65ca3f7d-ec55-4f65-971c-e01746786c52" alt=""><figcaption></figcaption></figure>

**Passo 10:** Após aplicarmos, o resultado trará os custos em linha, separados em bloco sendo o primeiro bloco está representando o mês anterior. Para removermos esse bloco, pois nosso foco é visualizar os custos do mês atual apenas, utilizamos a função de "**Ocultar Linhas**".

* Na aba de "**Configurações**", clique na opção "**Ocultar Linhas**"
* Clique no icone de "**+**" para adicionar um novo filtro.
* Será aberto um novo menu, onde será necessário adicionar o campo que deseja ocultar.&#x20;
* Em **"Coluna a Verificar**", digite o campo de data utilizado na sua visão.
* Por fim, marque a opção - "**Ocultar linhas fora do período selecionado no BI**"

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FO3hE7nAsFsYVC8X1twqL%2Fimage.png?alt=media&#x26;token=e03becc5-affb-4432-95c2-474321124f4e" alt=""><figcaption></figcaption></figure>

**Passo 11**: Agora, podemos voltar na função desvio e adicionar os desvios corretos para podermos fazer as comparações do custo do mês atual x mês anterior.

Na aba de "**Configurações**", na sessão abaixo em "**Desvio**", vamos adicionar agora os dois tipos de desvios: **Desvio Nominal e Desvio Percentual.**

* ***Desvio Nominal***:&#x20;

1. **Tipo de Desvio** - Desvio de Dados
2. **Cálculo** - Desvio Nominal
3. **Primeiro** **Campo** - <kbd>lineitem/unblendedcost</kbd> com expressão 'Soma'
4. **Segundo** **Campo** - custom criado com expressão 'Nenhum'
5. **Configurações** - Como desejar.&#x20;

* ***Desvio Percentual:***&#x20;

1. **Tipo de Desvio** - Desvio de Dados
2. **Cálculo** - Desvio Percentual
3. **Primeiro** **Campo** - lineitem/unblendedcost com expressão 'Soma'
4. **Segundo** **Campo** - custom criado com expressão 'Nenhum'
5. **Configurações** - Como desejar.

Após todos os passos seguidos, sua visualização terá uma prévia como essa:&#x20;

<figure><img src="https://109632036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcxn6hAOP0k8IqKSI8iRP%2Fuploads%2FtqQkgtoVOzEgfAUWaVtZ%2Fimage.png?alt=media&#x26;token=0053291b-cbb8-4681-b1a2-0caabaa94f8e" alt=""><figcaption></figcaption></figure>
