# Max - función de gráfico

Max() halla el valor más alto de los datos agregados. Especificando un rango rank n, se puede encontrar el enésimo valor más alto.

Nota de sugerenciaPuede que también desee echar un vistazo a FirstSortedValue y RangeMax, que tienen una funcionalidad similar a la función Max.

Sintaxis:

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

Tipo de datos que devuelve: numérico

Argumentos

| Argumento | Descripción |
| --- | --- |
| expr | La expresión o el campo que contiene los datos que se han de medir. |
| rank | El valor predeterminado de rank es 1, que se corresponde con el valor más alto. Especificando rank como 2, devuelve el segundo valor más alto. Si rank es 3, devuelve el tercer valor más alto, y así sucesivamente. |
| SetExpression | De forma predeterminada, la función de agregación agregará sobre el conjunto de registros posibles definidos por la selección. Se puede definir un conjunto alternativo de registros mediante una expresión de análisis de conjuntos. |
| TOTAL | Si la palabra TOTAL aparece antes de los argumentos de la función, el cálculo se realiza sobre todos los valores posibles dadas las selecciones actuales y no solo aquellas que pertenecen al valor dimensional actual, es decir, no tiene en cuenta las dimensiones del gráfico.<br><br>Usar TOTAL [&lt;fld {.fld}&gt;], donde al cualificador TOTAL le sigue una lista de uno o más nombres de campo como un subconjunto de las variables de dimensión del gráfico, crea un subconjunto de los valores totales posibles.<br><br>[Definir el ámbito de agregación](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Ejemplo: expresiones de gráfico

| Ejemplo | Resultado |
| --- | --- |
| `Max(UnitSales)` | Devuelve el valor más alto del campo `UnitSales`. |
| `Max(UnitSales*UnitPrice)` El valor de un pedido se calcula multiplicando el número de unidades vendidas en (`UnitSales`) por el precio unitario. | Devuelve el valor más alto del resultado de calcular todos los valores posibles de (`UnitSales`) \* (`UnitPrice`). |
| `Max(UnitSales, 2)` | Devuelve el valor del segundo valor más alto. |
| `Max(TOTAL UnitSales)` | El calificador `TOTAL` significa que se encuentra el valor más alto posible, sin tener en cuenta las dimensiones de gráfico. Para un gráfico con `Customer` como dimensión, el calificador `TOTAL` garantizará que se devuelva el valor máximo de todo el conjunto de datos, en lugar del máximo `UnitSales` para cada cliente. |
| `Max({1} TOTAL UnitSales)` | La expresión de análisis de conjuntos `{1}` define el conjunto de registros que se ha de evaluar como `ALL`, independientemente de cualquier selección realizada. Por ejemplo, si se selecciona un cliente específico, seguirá devolviendo el máximo `UnitSales` de todo el conjunto de datos. |

## Ejemplo: fundamentos de Max

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

#### Expresión de gráfico

Descripción

Un conjunto de datos contiene cifras de ventas de productos por mes. Queremos identificar el valor máximo de venta de cada producto y el mes en que se produjo.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `Customer`

  * `UnitSales`

  * `UnitPrice`

Script de carga

```
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

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

* `Customer`

Cree las siguientes medidas:

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

* `=Max(UnitSales*UnitPrice)`, para calcular el valor máximo tras multiplicar `UnitSales` por `UnitPrice` fila por fila.

* `=Max(UnitSales, 2)`, para calcular el segundo valor más alto.

* `=Max(TOTAL UnitSales)`, para calcular el total más alto independientemente de la dimensión del gráfico.

* `=Max({1} TOTAL UnitSales)`, para calcular el total más alto ignorando todas las selecciones.

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 |

En este ejemplo, observe lo siguiente:

* En la primera medida (`Max(UnitSales)`), el valor más alto de `UnitSales` para el cliente `Astrida` es `10`. La celda `Totals` de esta columna devuelve `10`, porque este valor es también el valor de `UnitSales` más alto de todo el conjunto de datos.

* En la segunda medida, (`Max(UnitSales*UnitPrice)`), se devuelve `150` para `Astrida`. Este es el valor más alto para ese cliente al multiplicar `UnitSales` por `UnitPrice`. La celda `Totals` de esta columna también devuelve `150`, ya que este es también el valor calculado más alto de todo el conjunto de datos.

* En la tercera medida de (`Max(UnitSales, 2)`), el segundo valor más alto de `UnitSales` para el cliente `Astrida` es `9`. Este valor es también el segundo más alto de los tres clientes, por lo que la fila `Totals` también devuelve `9`.

* La cuarta medida (`Max(TOTAL UnitSales)`) devuelve el valor `10`. Este es el valor más alto encontrado independientemente de la dimensión del cliente, por lo tanto, todas las filas devuelven el mismo valor. Sin embargo, si selecciona el cliente `Betacab`, la tabla le devolverá solo los valores de ese cliente, en este caso `5` porque se trata del `UnitSales` más alto de todos los productos para `Betacab`.

* La quinta medida (`Max({1} TOTAL UnitSales)`) devuelve el valor `10` independientemente de la `Customer` seleccionada porque se utiliza la `{1}` modificada. Por ejemplo, si selecciona `Betacab` esta columna seguirá devolviendo el valor `10`.

## Ejemplo: escenario de Max calculando la mayor cifra de ventas por mes

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

#### Expresión de gráfico

Descripción

Un conjunto de datos contiene cifras de ventas de productos por mes. Un jefe de ventas desea identificar la cifra máxima de venta de cada producto y el mes en que se produjo.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `Product`

  * `Sales`

  * `Month`

Script de carga

```
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

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `Product`

* `Month`

Cree las siguientes medidas:

* `=If(Sales = Max(TOTAL <Product> Sales), Sales)`, para calcular el máximo de ventas de cada producto. En el panel de propiedades de la medida, seleccione Complementos &gt; Manejo de datos. Desmarque la casilla Incluir valores cero para eliminar cualquier valor nulo.

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 |

Los resultados de la medida devuelven el valor máximo de ventas de cada producto y el mes en el que se alcanzó dicho valor. Por ejemplo, `Product B` tuvo las mayores ventas (`800`) en `2024-02-01`.

## Más información

* [FirstSortedValue - función de gráfico](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/firstsortedvalue.htm)
* [RangeMax - Función de script y de gráfico](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangemax.htm)
* [Análisis de conjuntos](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Definir el ámbito de agregación](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)