

# Distribución
<a name="dqdl-rule-types-Distribution"></a>

Utilice el analizador `Distribution` para calcular la distribución de frecuencias de los valores de una columna. El analizador produce diferentes salidas según el tipo de datos de la columna:
+ **Columnas numéricas**: genera un histograma por intervalos. El histograma divide el rango de valores de la columna en intervalos de igual anchura y cuenta el número de valores de cada intervalo.
+ **Cadena, fecha y otras columnas no numéricas**: genera una distribución de valores que cuenta la frecuencia de cada valor distinto, clasificada en orden descendente por frecuencia. El analizador devuelve solo los 20 valores más frecuentes.

**nota**  
Solo puede usar el analizador `Distribution` en el bloque `Analyzers` de su conjunto de reglas de DQDL. No se puede usar como regla.

**Sintaxis**

```
Distribution {{<COL_NAME>}}
Distribution {{<COL_NAME>}} with bins = {{<BIN_COUNT>}}
Distribution {{<COL_NAME>}} with bins = {{<BIN_COUNT>}}, rebin = {{<true|false>}}
```
+ **COL\_NAME**: nombre de la columna que se va a analizar o `AllColumns` para calcular las distribuciones de todas las columnas del conjunto de datos.

  **Tipos de columnas compatibles**: cualquier tipo de columna
+ **bins** (opcional): número de intervalos que se van a usar en los histogramas de columnas numéricas. El valor predeterminado es 20. El valor máximo es 20. Este parámetro no tiene efecto en las columnas no numéricas.
+ **rebin** (opcional): controla el comportamiento de la creación automática de nuevos intervalos. Cuando el desbordamiento supera el umbral en ejecuciones consecutivas, el analizador realiza la creación de nuevos intervalos automáticamente. El valor predeterminado es `true`. Establézcalo en `false` para mantener los bordes de los intervalos fijos indefinidamente, independientemente de la frecuencia de desbordamiento. Para obtener más información, consulte [Creación automática de nuevos intervalos](dqdl.md#dqdl-analyzers-distribution-rebinning).

**Ejemplo: distribución básica para una sola columna**

En el siguiente ejemplo se calcula una distribución de frecuencias para la columna `Salary` utilizando los 20 intervalos predeterminados:

```
Analyzers = [
    Distribution "Salary"
]
```

**Ejemplo: recuento de intervalos personalizado**

En el siguiente ejemplo se calcula un histograma para la columna `Age` con 10 intervalos:

```
Analyzers = [
    Distribution "Age" with bins = 10
]
```

**Ejemplo: distribución para todas las columnas**

En el siguiente ejemplo se calculan las distribuciones de todas las columnas del conjunto de datos. Las columnas numéricas producen histogramas con 20 intervalos y las columnas no numéricas producen distribuciones de valores:

```
Analyzers = [
    Distribution AllColumns
]
```

**Ejemplo: combinación con reglas y otros analizadores**

En el siguiente ejemplo se muestra un conjunto de reglas que combina reglas, analizadores estándar y el analizador `Distribution`:

```
Rules = [
    RowCount > 100,
    Completeness "Salary" > 0.9
]
Analyzers = [
    Mean "Salary",
    StandardDeviation "Salary",
    Distribution "Salary" with bins = 15,
    Distribution "Department"
]
```

**Formato de salida**

Cuando se ejecuta el analizador `Distribution`, se genera una estadística denominada `Distribution`. Las estadísticas escalares (como `Mean` o `Sum`) devuelven un solo valor numérico. La estadística `Distribution`, por el contrario, devuelve un resultado estructurado:
+ `BinEdges`: una matriz que define los límites de los intervalos (para las columnas numéricas) o los valores distintos (para las columnas no numéricas).
+ `Count`: una matriz de frecuencias para cada intervalo o valor.

Puede recuperar los resultados de la distribución mediante la API `ListDataQualityStatistics` o la API `GetDataQualityResult`. Para obtener más información sobre las API de Calidad de datos, consulte las [API de Calidad de datos](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-data-quality.html) en la *referencia de las API de AWS Glue*.

**Comportamiento nulo**

El analizador excluye del cálculo del intervalo las filas con valores NULL en la columna de destino.

Para obtener más información sobre los bordes de los intervalos fijos, las observaciones de desbordamiento y la creación automática de nuevos intervalos, consulte [Analizador Distribution](dqdl.md#dqdl-analyzers-distribution).