Passer au contenu principal

Fonctions MEDIAN() et PERCENTILE()

  • En mode Live, les fonctions MEDIAN() et PERCENTILE() (depuis la version v0.1.3 du connecteur) utilisent la fonction ClickHouse quantile()(), ce qui accélère considérablement le calcul, mais repose sur l’échantillonnage. Si vous souhaitez obtenir des résultats précis, utilisez plutôt les fonctions MEDIAN_EXACT() et PERCENTILE_EXACT() (basées sur quantileExact()()).
  • En mode Extract, vous ne pouvez pas utiliser MEDIAN_EXACT() et PERCENTILE_EXACT(), car MEDIAN() et PERCENTILE() sont toujours exactes (mais lentes).

Fonctions supplémentaires pour les champs calculés en Live mode

ClickHouse dispose d’un très grand nombre de fonctions utilisables pour l’analyse des données — bien plus que ce que Tableau prend en charge. Pour faciliter l’utilisation par les utilisateurs, nous avons ajouté de nouvelles fonctions disponibles en Live mode lors de la création de champs calculés. Malheureusement, il n’est pas possible d’ajouter une description à ces fonctions dans l’interface de Tableau ; nous les décrivons donc ici même.
  • -If Combinateur d’agrégation (ajouté dans la v0.2.3) - permet d’appliquer des filtres par ligne directement dans le calcul d’agrégation. Les fonctions SUM_IF(), AVG_IF(), COUNT_IF(), MIN_IF() & MAX_IF() ont été ajoutées.
  • BAR([my_int], [min_val_int], [max_val_int], [bar_string_length_int]) (ajouté dans la v0.2.1) — Oubliez les barres ennuyeuses ! Utilisez plutôt la fonction BAR() (équivalent de bar() dans ClickHouse). Par exemple, ce champ calculé renvoie de jolies barres au format String :
    BAR([my_int], [min_val_int], [max_val_int], [bar_string_length_int]) + "  " + FORMAT_READABLE_QUANTITY([my_int])
    
    == BAR() ==
    ██████████████████▊  327.06 million
    █████  88.02 million
    ███████████████  259.37 million
    
  • COUNTD_UNIQ([my_field]) (ajouté dans la version v0.2.0) — Calcule le nombre approximatif de valeurs distinctes de l’argument. Équivalent de uniq(). Beaucoup plus rapide que COUNTD().
  • DATE_BIN('day', 10, [my_datetime_or_date]) (ajouté dans la v0.2.1) — équivalent de toStartOfInterval() dans ClickHouse. Arrondit à l’inférieur une valeur Date ou DateTime selon l’intervalle donné, par exemple :
     == my_datetime_or_date == | == DATE_BIN('day', 10, [my_datetime_or_date]) ==
        28.07.2004 06:54:50    |              21.07.2004 00:00:00
        17.07.2004 14:01:56    |              11.07.2004 00:00:00
        14.07.2004 07:43:00    |              11.07.2004 00:00:00
    
  • FORMAT_READABLE_QUANTITY([my_integer]) (ajouté dans v0.2.1) — Renvoie un nombre arrondi avec un suffixe (millier, million, milliard, etc.) sous forme de chaîne. Utile pour faciliter la lecture des grands nombres. Équivalent de formatReadableQuantity().
  • FORMAT_READABLE_TIMEDELTA([my_integer_timedelta_sec], [optional_max_unit]) (ajouté dans v0.2.1) — Accepte une durée en secondes. Renvoie une durée avec (année, mois, jour, heure, minute, seconde) sous forme de chaîne. optional_max_unit est l’unité maximale à afficher. Valeurs acceptées : seconds, minutes, hours, days, months, years. Équivalent de formatReadableTimeDelta().
  • GET_SETTING([my_setting_name]) (ajouté dans v0.2.1) — Renvoie la valeur actuelle d’un paramètre personnalisé. Équivalent de getSetting().
  • HEX([my_string]) (ajouté dans v0.2.1) — Renvoie une chaîne contenant la représentation hexadécimale de l’argument. Équivalent de hex().
  • KURTOSIS([my_number]) — Calcule la kurtosis d’échantillon d’une séquence. Équivalent de kurtSamp().
  • KURTOSISP([my_number]) — Calcule la kurtosis d’une séquence. Équivalent de kurtPop().
  • MEDIAN_EXACT([my_number]) (ajouté dans v0.1.3) — Calcule exactement la médiane d’une séquence de données numériques. Équivalent de quantileExact(0.5)(...).
  • MOD([my_number_1], [my_number_2]) — Calcule le reste de la division. Si les arguments sont des nombres à virgule flottante, ils sont d’abord convertis en entiers en supprimant la partie décimale. Équivalent de modulo().
  • PERCENTILE_EXACT([my_number], [level_float]) (ajouté dans v0.1.3) — Calcule exactement le percentile d’une séquence de données numériques. La plage de niveaux recommandée est [0.01, 0.99]. Équivalent de quantileExact()().
  • PROPER([my_string]) (ajouté dans la version v0.2.5) - Convertit une chaîne de texte de façon à mettre en majuscule la première lettre de chaque mot et en minuscules les lettres restantes. Les espaces et les caractères non alphanumériques, comme la ponctuation, servent également de séparateurs. Par exemple :
    PROPER("PRODUCT name") => "Product Name"
    
    PROPER("darcy-mae") => "Darcy-Mae"
    
  • RAND() (ajoutée dans la v0.2.1) — renvoie un entier (UInt32), par exemple 3446222955. Équivalent de rand().
  • RANDOM() (ajoutée dans la v0.2.1) — fonction Tableau RANDOM() non officielle, qui renvoie un nombre flottant compris entre 0 et 1.
  • RAND_CONSTANT([optional_field]) (ajoutée dans la v0.2.1) — produit une colonne constante avec une valeur aléatoire. Comparable à {RAND()} Fixed LOD, mais plus rapide. Équivalent de randConstant().
  • REAL([my_number]) — convertit le champ en nombre flottant (Float64). Voir les détails ici.
  • SHA256([my_string]) (ajoutée dans la v0.2.1) — calcule le hash SHA-256 d’une chaîne et renvoie l’ensemble d’octets obtenu sous forme de chaîne (FixedString). Pratique avec la fonction HEX(), par exemple HEX(SHA256([my_string])). Équivalent de SHA256().
  • SKEWNESS([my_number]) — calcule le coefficient d’asymétrie de l’échantillon d’une séquence. Équivalent de skewSamp().
  • SKEWNESSP([my_number]) — calcule le coefficient d’asymétrie d’une séquence. Équivalent de skewPop().
  • TO_TYPE_NAME([field]) (ajoutée dans la v0.2.1) — renvoie une chaîne contenant le nom du type ClickHouse de l’argument transmis. Équivalent de toTypeName().
  • TRUNC([my_float]) — identique à la fonction FLOOR([my_float]). Équivalent de trunc().
  • UNHEX([my_string]) (ajoutée dans la v0.2.1) — effectue l’opération inverse de HEX(). Équivalent de unhex().
Dernière modification le 25 juin 2026