# Last - função de gráfico

Last() retorna o valor de uma expressão avaliada com os valores de dimensão de uma tabela dinâmica como aparecerem na última coluna do segmento de linha da tabela dinâmica. Esta função retorna NULL em todos os tipos de gráficos, exceto em tabelas dinâmicas.

Nota informativaA classificação por valores y em gráficos ou por colunas de expressão em tabelas não é permitida quando essa função de gráfico é usada em qualquer uma das expressões do gráfico. Essas alternativas de classificação estão, portanto, automaticamente desabilitadas. Quando você usar essa função de gráfico em uma visualização ou tabela, a classificação da visualização será revertida para a entrada classificada dessa função.

Sintaxe:

Last([TOTAL] expr [, offset [, count]])

Argumentos

| Argumento | Descrição |
| --- | --- |
| expr | A expressão ou campo que contém os dados a serem medidos. |
| offset | Especificar um offset n maior que 1 move a avaliação da expressão n colunas para a esquerda da última coluna.<br><br>A especificação de um deslocamento de 0 avaliará a expressão na última coluna do segmento de linha atual.<br><br>Especificando um número de compensação negativa faz a função Last funcionar como a função First com o número de compensação positiva correspondente. |
| count | Ao especificar um terceiro parâmetro count maior que 1, a função retornará uma série de valores count, um para cada colunas da tabela, contado para a esquerda a partir da célula original. |
| TOTAL | Se a tabela for unidimensional ou se o qualificador TOTAL for usado como argumento, o segmento de coluna atual será sempre igual à coluna inteira.<br><br>[Definindo o escopo de agregação](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Se a tabela dinâmica tiver várias dimensões horizontais, o segmento de linha atual incluirá somente colunas com os mesmos valores que a coluna atual em todas as linhas de dimensão, exceto na linha que mostrar a última dimensão horizontal na ordem de classificação entre os campos. A ordem de classificação entre os campos para as dimensões horizontais das tabelas dinâmicas é definida simplesmente pela ordem das dimensões de cima para baixo.

Exemplo: expressões de gráfico

| Exemplo | Resultado |
| --- | --- |
| `Last( Sum(Sales ))` | Retorna a soma de `Sales` da última coluna do segmento de linha atual. |
| `Last( Sum(Sales ), 2)` | Retorna a soma de `Sales` da coluna que está duas colunas à esquerda da última coluna no segmento de linha atual. |
| `Last( Total Sum( Sales ))` | Retorna a soma total de `Sales` da última coluna do segmento de linha atual. |
| `RangeAvg (Last(Sum(x),1,5))` | Retorna uma média de resultados da função `sum(x)` avaliada nas cinco colunas mais à direita do atual segmento de linha. |

## Exemplo - Fundamentos de Last

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/last.htm)

#### Expressão de gráfico

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Os campos a seguir na tabela de dados:

  * `Year`

  * `Quarter`

  * `Sales`

Script de carregamento

```
Example:
Load * inline [
Year, Quarter, Sales
2023, Q1, 5000
2023, Q2, 4000
2023, Q3, 6000
2023, Q4, 7000
2024, Q1, 4500
2024, Q2, 3250
2024, Q3, 6500
2024, Q4, 7250
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela dinâmica e adicione esse campo como uma dimensão de linha:

* `Year`

Adicione este campo como uma dimensão de coluna:

* `Quarter`

Crie as seguintes medidas:

* `=Sum(Sales)` para calcular a soma das vendas.

* `=Last(Sum(Sales))` para calcular a soma das vendas da última coluna para o segmento de linha atual.

Tabela de resultados

| Ano | T1 | T2 | T3 | T4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | Last(Sum(Sales)) | Sum(Sales) | Last(Sum(Sales)) | Sum(Sales) | Last(Sum(Sales)) | Sum(Sales) | Last(Sum(Sales)) |  |
| 2023 | 5000 | 7000 | 4000 | 7000 | 6000 | 7000 | 7000 | 7000 |
| 2024 | 4500 | 7250 | 3250 | 7250 | 6500 | 7250 | 7250 | 7250 |

Observando os resultados, você pode ver que a função `Last` retorna a soma do valor de vendas da última coluna de cada segmento de linha para cada trimestre. Por exemplo, em `Q1`, o valor de `Sum(Sales)` para esse período é `5000`. O valor de `Last(Sum(Sales)` para `Q1` é `7000`, que é o valor para `Sum(Sales)` em `Q4`, o último valor da coluna da linha atual, `2023`.

## Exemplo - Cenário de Last

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/last.htm)

#### Expressão de gráfico

Visão geral

Um conjunto de dados contém números de vendas de vários produtos durante um período de três meses. A empresa quer apresentar as vendas totais do período atual e o crescimento das vendas em comparação com os últimos (ou mais recentes) números de vendas do período.

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Os campos a seguir na tabela de dados:

  * `Date`

  * `Product`

  * `Sales`

Script de carregamento

```
Example:
Load * inline [
Date, Product, Sales
2024-01-01, Apple, 100
2024-01-01, Banana, 150
2024-01-01, Carrot, 120
2024-02-01, Carrot, 80
2024-02-01, Banana, 200
2024-02-01, Apple, 110
2024-03-01, Carrot, 160
2024-03-01, Banana, 300
2024-03-01, Apple, 150
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela dinâmica e adicione esse campo como uma dimensão de linha:

* ` Product
                                       `

Adicione este campo como uma dimensão de coluna:

* `Date`

Crie as seguintes medidas:

* `=Sum(Sales)` para calcular as vendas anuais.

* `=(Last(Sum(Sales)) - Sum(Sales)) / Sum(Sales)` para calcular o crescimento nas vendas do período atual para o período mais recente. Para mostrar esse valor como uma porcentagem, em Formatação de números, selecione Número &gt; Formatação simples &gt; 12,34%.

Tabela de resultados

| Produto | 2024-01-01 | 2024-02-01 | 2024-03-01 |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| Sum(Sales) | (Last(Sum(Sales)) - Sum(Sales)) / Sum(Sales) | Sum(Sales) | (Last(Sum(Sales)) - Sum(Sales)) / Sum(Sales) | Sum(Sales) | (Last(Sum(Sales)) - Sum(Sales)) / Sum(Sales) |  |
| Maçã | 100 | 50,00% | 110 | 36.36% | 150 | 0,00% |
| Banana | 150 | 100,00% | 200 | 50,00% | 300 | 0,00% |
| Cenoura | 120 | 33,33% | 80 | 100,00% | 160 | 0,00% |

Neste exemplo, você pode ver como as vendas progrediram desde o início do período de vendas até o período mais recente. Por exemplo, no primeiro período `2024-01-01`, as vendas de `Apple` foram `100` em comparação com os últimos números de vendas de `150` para o período `2024-03-01`. Isso indica um aumento de `50%`.

## Exemplo - Usando Last para calcular a variação orçamentária

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/last.htm)

#### Expressão de gráfico

Visão geral

Um conjunto de dados contém números de orçamento por trimestre ao longo de um período de dois anos. A empresa deseja apresentar o valor total do orçamento para cada trimestre e a variação entre o valor do orçamento para o período atual em comparação com o orçamento trimestral médio do ano.

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Os campos a seguir na tabela de dados:

  * `Year`

  * `Quarter`

  * `Budget`

Script de carregamento

```
Example:
Load * inline [
Year, Quarter, Budget
2023, Q1, 1200
2023, Q2, 1100
2023, Q3, 1300
2023, Q4, 1400
2024, Q1, 1550
2024, Q2, 1230
2024, Q3, 1400
2024, Q4, 1600
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela dinâmica e adicione esse campo como uma dimensão de linha:

* ` Year
                                       `

Adicione este campo como uma dimensão de coluna:

* `Quarter`

Crie as seguintes medidas:

* `=Sum(Budget)` para calcular o orçamento para o trimestre.

* `=Sum(Budget) - RangeAvg(Last(Budget, 1, 4))` para calcular a variação entre o valor `Budget` do período atual em comparação com o orçamento trimestral médio do ano.

Tabela de resultados

| Ano | T1 | T2 | T3 | T4 |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Sum(Budget) | Sum(Budget) - RangeAvg(Last(Budget, 1, 4)) | Sum(Budget) | Sum(Budget) - RangeAvg(Last(Budget, 1, 4)) | Sum(Budget) | Sum(Budget) - RangeAvg(Last(Budget, 1, 4)) | Sum(Budget) | Sum(Budget) - RangeAvg(Last(Budget, 1, 4)) |  |
| 2023 | 1200 | -50 | 1100 | -150 | 1300 | 50 | 1400 | 150 |
| 2024 | 1550 | 105 | 1230 | -215 | 1400 | -45 | 1600 | 155 |

Usando a função `Last`, você pode ver como o valor do orçamento por trimestre varia em comparação ao orçamento trimestral médio. Por exemplo, em `2023`, o orçamento total para o ano é `5000` (`1200 + 1100 + 1300 + 1400`), portanto, o orçamento trimestral médio é `1250`. Como o valor do orçamento para `Q1` é `1200`, ele é `50` menor em comparação com o orçamento trimestral médio de `1250`, enquanto a variação do orçamento para `Q4` é `150` acima do orçamento trimestral médio.