Fonction Redshift APPROXIME PENTILE_DISC

Fonction Redshift APPROXIME PENTILE_DISC
La fonction Redshift approximation centile_disc est l'une des fonctions agrégées fournies par Redshift pour calculer le centile de l'expression donnée sur la base du modèle de distribution discret. L'approximation est une méthode beaucoup plus rapide et a une faible erreur relative d'environ 0.5.

La fonction Redshift approximation centile_disc effectue son calcul en fonction de l'algorithme de résumé quantile. Il approximativera le centile des expressions d'entrée données dans commandé par paramètre. Un algorithme de résumé quantile est largement utilisé pour gérer les grands ensembles de données. Il renvoie la valeur des lignes qui ont une petite valeur distributive cumulative qui est égale ou supérieure à la valeur centile fournie.

La fonction Redshift approximative percetile_disc est l'une des fonctions de nœud de calcul uniquement dans Redshift. Par conséquent, la requête pour un centile approximatif renvoie l'erreur si la requête ne fait pas référence à la table définie par l'utilisateur ou aux tables définies par le système AWS Redshift.

Le paramètre distinct n'est pas pris en charge dans la fonction APPRIX PERCILE_DISC et la fonction s'applique toujours à toutes les valeurs transmises à la fonction même s'il y a des valeurs répétitives. De plus, les valeurs nulles sont ignorées pendant le calcul.

Syntaxe pour utiliser la fonction de centile_disc approximative

La syntaxe pour utiliser la fonction Redshift approximation centile_disc est la suivante:

Percele approximatif_disc ( )
Au sein du groupe ()
De Table_Name

Centile

Le centile Le paramètre dans la requête ci-dessus est la valeur centile que vous souhaitez trouver. Il doit être constant numérique et il varie de 0 à 1. Par conséquent, si vous voulez trouver le 50e centile, vous metterez 0.5.

Ordre par expression

Le Ordre par expression est utilisé pour fournir l'ordre dans lequel vous souhaitez commander les valeurs, puis calculer le centile.

Exemples pour utiliser la fonction de centile_disc approximative

Maintenant dans cette section, prenons quelques exemples pour comprendre pleinement comment fonctionne la fonction approximative de centile_disc dans Redshift.

Dans le premier exemple, nous appliquerons la fonction approximative de percentile_disc sur un tableau nommé approximation comme indiqué ci-dessous. La table de redshift suivante contient l'ID utilisateur et les notes obtenues par l'utilisateur.

IDENTIFIANT Des marques
0 dix
1 dix
2 90
3 40
4 40
5 dix
6 20
7 30
8 20
9 25

Appliquer le 25e centile sur la colonne Des marques de la approximation table qui sera commandée par id.

Sélectionnez des marques, le centile approximatif_disc (0.25)
Dans le groupe (Ordre par id)
de l'approximation
groupe par marques

Le 25e centile du Des marques colonne du approximation La table sera la suivante:

Des marques Centile_disc
dix 0
90 2
40 3
20 6
25 9
30 dix

Maintenant, appliquons le 50e centile au tableau ci-dessus. Pour cela, utilisez la requête suivante:

Sélectionnez des marques, le centile approximatif_disc (0.5)
Dans le groupe (Ordre par id)
de l'approximation
groupe par marques

Le 50e centile du Des marques colonne du approximation La table sera la suivante:

Des marques Centile_disc
dix 1
90 2
40 3
20 6
25 9
30 dix

Maintenant, essayons de postuler pour le 90e centile sur le même ensemble de données. Pour cela, utilisez la requête suivante:

Sélectionnez des marques, le centile approximatif_disc (0.9)
Dans le groupe (Ordre par id)
de l'approximation
groupe par marques

Le 90e centile du Des marques colonne du approximation La table sera la suivante:

Des marques Centile_disc
dix 7
90 2
40 4
20 8
25 9
30 dix

La constante numérique du paramètre de centile ne peut pas dépasser 1. Maintenant, essayons de dépasser sa valeur et de le définir sur 2 pour voir comment la fonction approximative de percetile_disc traite cette constante. Utilisez la requête suivante:

Sélectionnez des marques, le centile approximatif_disc (2)
Dans le groupe (Ordre par id)
de l'approximation
groupe par marques

Cette requête lancera l'erreur suivante montrant que la constante numérique centile varie de 0 à 1 seulement.

Appliquer une fonction de percetile_disc approximative sur les valeurs nuls

Dans cet exemple, nous appliquerons une fonction approximative de percetile_disc sur un tableau nommé approximation qui comprend les valeurs nulles comme indiqué ci-dessous:

Alpha bêta
0 0
0 dix
1 20
1 90
1 40
2 dix
2 20
2 75
2 20
3 25
NUL 40

Maintenant, demandons le 25e centile sur ce tableau. Pour cela, utilisez la requête suivante:

Sélectionnez Alpha, APPROXIME PERCILE_DISC (0.25)
Au sein du groupe (Ordre par bêta)
de l'approximation
groupe par alpha
Ordre par Alpha;

Le 25e centile du alpha colonne du approximation La table sera la suivante:

Alpha centile_disc
0 0
1 20
2 dix
3 25
4

Conclusion

Dans cet article, nous avons étudié comment utiliser la fonction approximative de centile_disc à Redshift pour calculer tout centile d'une colonne. Nous avons appris l'utilisation de la fonction approximative de centile_disc sur différents ensembles de données avec des constantes numériques de centile différentes. Nous avons appris à utiliser différents paramètres tout en utilisant la fonction approximative de percentile_disc et comment cette fonction traite lorsqu'une constante de centile de plus de 1 est passé.