# Max - função de gráfico

Max() encontra o valor mais alto dos dados agregados. Especificando uma rank n, o enésimo valor mais alto pode ser encontrado.

Nota de dicaTalvez você também queira consultar FirstSortedValue e RangeMax, que têm uma operação semelhante à função Max.

Sintaxe:

Max([{SetExpression}] [TOTAL [&lt;fld {,fld}&gt;]] expr [,rank])

Tipo de dados de retorno: numérico

Argumentos

| Argumento | Descrição |
| --- | --- |
| expr | A expressão ou campo que contém os dados a serem medidos. |
| rank | O valor padrão de rank é 1, que corresponde ao valor mais alto. Se rank for especificada com o valor 2, o segundo valor mais alto é retornado. Se rank for 3, o terceiro valor mais alto é retornado, e assim por diante. |
| SetExpression | Por padrão, a função de agregação agregará um conjunto de registros possíveis definidos pela seleção. Um conjunto de registros alternativos pode ser definido por uma expressão de análise. |
| TOTAL | Se a palavra TOTAL ocorrer antes dos argumentos da função, o cálculo será feito sobre todos os valores possíveis, dadas as seleções atuais, e não apenas sobre os pertinentes ao valor dimensional atual, isto é, desconsiderando as dimensões do gráfico.<br><br>Usando TOTAL [&lt;fld {.fld}&gt;], em que o qualificador TOTAL é seguido por uma lista de um ou mais nomes de campo como um subconjunto das variáveis de dimensão de gráfico, você cria um subconjunto dos valores possíveis totais.<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) |

Exemplo: expressões de gráfico

| Exemplo | Resultado |
| --- | --- |
| `Max(UnitSales)` | Retorna o maior valor no campo `UnitSales`. |
| `Max(UnitSales*UnitPrice)` O valor de um pedido é calculado multiplicando o número de unidades vendidas em (`UnitSales`) pelo preço unitário. | Retorna o valor mais alto do resultado de calcular todos os valores possíveis de (`UnitSales`) \* (`UnitPrice`). |
| `Max(UnitSales, 2)` | Retorna o valor do segundo maior valor. |
| `Max(TOTAL UnitSales)` | O qualificador `TOTAL` significa que o maior valor possível é encontrado, desconsiderando as dimensões do gráfico. Para um gráfico com `Customer` como a dimensão, o qualificador `TOTAL` garantirá que o valor máximo em todo o conjunto de dados seja retornado, em vez da `UnitSales` máxima para cada cliente. |
| `Max({1} TOTAL UnitSales)` | A expressão de análise de conjunto `{1}` define o conjunto de registros a serem avaliados como `ALL`, independente de qualquer seleção feita. Por exemplo, se um cliente específico for selecionado, ele ainda retornará a máxima `UnitSales` em todo o conjunto de dados. |

## Exemplo - Fundamentos de Max

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

#### Expressão de gráfico

Visão geral

Um conjunto de dados contém números de vendas de produtos por mês. Queremos identificar o valor máximo de vendas de cada produto e o mês em que isso ocorreu.

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:

  * `Customer`

  * `UnitSales`

  * `UnitPrice`

Script de carregamento

```
Example:
LOAD * inline [
Customer|UnitSales|UnitPrice
Astrida|4|16
Astrida|10|15
Astrida|9|9
Betacab|5|10
Betacab|2|20
Betacab||25
Canutility|8|15
Canutility||19
] (delimiter is '|');
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:

* `Customer`

Crie as seguintes medidas:

* `=Max(UnitSales)` para calcular o valor máximo de `UnitSales`.

* `=Max(UnitSales*UnitPrice)` para calcular o valor máximo após a multiplicação de `UnitSales` por `UnitPrice` linha por linha.

* `=Max(UnitSales, 2)` para calcular o segundo maior valor.

* `=Max(TOTAL UnitSales)` para calcular o total mais alto, independentemente da dimensão de gráfico.

* `=Max({1} TOTAL UnitSales)` para calcular o total mais alto ignorando todas as seleções.

Results table

| Customer | Max(UnitSales) | Max(UnitSales\*UnitPrice) | Max(UnitSales, 2) | Max(TOTAL UnitSales) | Max({1} TOTAL UnitSales) |
| --- | --- | --- | --- | --- | --- |
| Totals | 10 | 150 | 9 | 10 | 10 |
| Astrida | 10 | 150 | 9 | 10 | 10 |
| Betacab | 5 | 50 | 2 | 10 | 10 |
| Canutility | 8 | 120 | - | 10 | 10 |

Nesse exemplo, observe o seguinte:

* Na primeira medida (`Max(UnitSales)`), o valor mais alto para `UnitSales` para o cliente `Astrida` é `10`. A célula `Totals` nesta coluna retorna `10` porque esse valor também é o valor mais alto de `UnitSales` em todo o conjunto de dados.

* Na segunda medida (`Max(UnitSales*UnitPrice)`), `150` é retornado para `Astrida`. Esse é o valor mais alto para esse cliente ao multiplicar `UnitSales` por `UnitPrice`. A célula `Totals` desta coluna também retorna `150`, pois este também é o maior valor calculado em todo o conjunto de dados.

* Na terceira medida (`Max(UnitSales, 2)`), o segundo maior valor de `UnitSales` para o cliente `Astrida` é `9`. Esse valor também é o segundo maior valor de todos os três clientes, portanto, a linha `Totals` também retorna `9`.

* A quarta medida (`Max(TOTAL UnitSales)`) retorna o valor `10`. Esse é o maior valor encontrado independentemente da dimensão do cliente, portanto, todas as linhas retornam o mesmo valor. No entanto, se você selecionar o cliente `Betacab`, a tabela retornará apenas os valores desse cliente, nesse caso, `5` porque esse é o maior `UnitSales` em todos os produtos para `Betacab`.

* A quinta medida (`Max({1} TOTAL UnitSales)`) retorna o valor `10` independentemente de qual `Customer` for selecionado, pois o conjunto modificado `{1}` é usado. Por exemplo, se você selecionar `Betacab`, essa coluna continuará retornando o valor `10`.

## Exemplo - Cenário máximo calculando as maiores vendas por mês

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

#### Expressão de gráfico

Visão geral

Um conjunto de dados contém números de vendas de produtos por mês. Um gerente de vendas deseja identificar o valor máximo de vendas de cada produto e o mês em que isso ocorreu.

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:

  * `Product`

  * `Sales`

  * `Month`

Script de carregamento

```
Example:
Load * inline [
Product,Sales,Month
A, 500, 2024-01-01
A, 700, 2024-02-01
A, 600, 2024-03-01
B, 300, 2024-01-01
B, 800, 2024-02-01
B, 450, 2024-03-01
C, 550, 2024-01-01
C, 620, 2024-02-01
C, 710, 2024-03-01
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `Product`

* `Month`

Crie as seguintes medidas:

* `=If(Sales = Max(TOTAL <Product> Sales), Sales)` para calcular as vendas máximas para cada produto. No painel de propriedades da medida, selecione Suplementos &gt; Tratamento de dados. Desmarque a caixa de seleção Incluir valores nulos para remover quaisquer valores nulos.

Results table

| Product | Month | If(Sales = Max(TOTAL &lt;Product&gt; Sales), Sales) |
| --- | --- | --- |
| A | 2024-02-01 | 700 |
| B | 2024-02-01 | 800 |
| C | 2024-03-01 | 710 |

Os resultados da medida retornam o valor máximo de vendas de cada produto e o mês em que esse valor foi atingido. Por exemplo, `Product B` teve as vendas mais altas (`800`) em `2024-02-01`.

## Saiba mais

* [FirstSortedValue - função de gráfico](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/firstsortedvalue.htm)
* [RangeMax Função de script e de gráfico](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangemax.htm)
* [Análise de conjunto](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Definindo o escopo de agregação](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)