Comment mettre en forme les dates à l'aide de Liquid

Dans certains cas, vous souhaiterez peut-être modifier la façon dont Looker met en forme les dates.

Par exemple, si vous créez des explorations et des tableaux de bord pour des utilisateurs situés en Europe, toutes les dates intégralement numériques doivent figurer dans l'ordre Jour-Mois-Année. Par exemple, le 7 juin 2019 doit utiliser le format 07/06/2019 ou Jun 07, 2019. Le format par défaut de Looker affiche la date au format 2019-06-07. Bien que vous puissiez utiliser des fonctions SQL telles que DATE_FORMAT() pour modifier un format de date, vous ne souhaiterez peut-être pas tout écrire en SQL simple.

Utiliser Liquid dans le paramètre html

Vous pouvez utiliser la mise en forme Liquid dans le paramètre html d'une dimension pour modifier le format de tout champ qui utilise un format de date valide. Étant donné que Liquid s'attend à une date valide, il est préférable d'utiliser les périodes d'un groupe de dimensions existant. Vous ne pouvez pas modifier les nombres de semaine ou de mois, car ils sont renvoyés sous forme d'entiers.

Par exemple, vous pouvez mettre en forme ${created_date} pour qu'il s'affiche au format Aug 23 22 au lieu de la valeur 2022-08-23 par défaut de Looker:


  dimension: date_formatted {
    sql: ${created_date} ;;
    html:{{ rendered_value | date: "%b %d, %y" }};;
  }


Le format de la syntaxe de chaîne "%b %d, %y" est le même que celui de strftime.

Étant donné que le paramètre html utilise la mise en forme Liquid, la valeur d'origine de la période n'est pas modifiée. Seule la façon dont la valeur est présentée à l'utilisateur n'est pas modifiée. Cela garantit que l'ordre dans lequel les dates apparaissent dans une requête ne changera pas.

Voici d'autres exemples que vous pouvez utiliser. La référence générale des formats disponibles se trouve au bas de cette page.

Préréglage Exemple
%m/%d/%Y 05/06/2013
%A, %B %e, %Y Mercredi 5 juin 2013
%b %e %a 5 juin mer.

Exemple

Dans l'exemple de requête d'exploration suivant, la date des articles de la commande et la semaine des articles de la commande sont mises en forme différemment et organisées sous un libellé de groupe Date de création pour simuler un groupe de dimensions "Date" dans le sélecteur de champs d'exploration.

La mise en forme personnalisée indique aux utilisateurs quelle date et quel numéro de semaine de l'année correspondent à la plus grande valeur Nombre d'éléments, dans l'ordre décroissant.

Consultez la page de documentation de group_label pour en savoir plus sur l'utilisation du paramètre group_label.

Une requête d'exploration affiche des résultats de mise en forme de date personnalisée pour la date des articles de la commande, la semaine des articles de la commande, triés par nombre d'articles de la commande dans l'ordre décroissant.

Code LookML

L'exemple d'exploration utilise le code LookML suivant:



# The original dimension group - hidden so that users can only choose from the formatted dates date and week timeframes
  dimension_group: created {
    hidden: yes
    type: time
    timeframes: [
      raw,
      time,
      date,
      hour,
      hour_of_day,
      time_of_day,
      week,
      month,
      quarter,
      year
    ]
    sql: ${TABLE}.created_at ;;
  }

# The customized timeframes, organized in the Explore field picker under the group label Created date
  dimension: date_formatted {
    group_label: "Created date"
    label: "Date"
    type: date_raw
    sql: ${created_date} ;;
    html: {{ rendered_value | date: "%b %d, %y" }};;
  }

  dimension: week_formatted {
    group_label: "Created date"
    label: "Week"
    type: date_raw
    sql: ${created_week} ;;
    html: {{ rendered_value | date: "Week %U (%b %d)" }};;
  }


strftime Reference

Le tableau suivant répertorie les différents formats strftime. Veuillez noter que tous les formats ne s'affichent pas comme prévu dans Looker.

spécificateur Remplacé par Exemple
%a Nom abrégé de la semaine * Jeu
%A Nom complet de la semaine * Jeudi
%b Nom abrégé du mois * Août
%B Nom complet du mois * Août
%c Représentation de la date et de l'heure * Jeu. 23 août 14:55:02 2001
%C Année divisée par 100 et tronquée pour afficher un nombre entier (00-99) 20
%d Jour du mois, complété par des zéros (01-31) 23
%D Date courte (MM/JJ/AA), équivalente à %m/%d/%y 08/23/01
%e Jour du mois, avec espace ( 1-31) 23
%F Date courte du AAAA-MM-JJ, équivalente à %Y-%m-%d 2001-08-23
%g Année basée sur la semaine, deux derniers chiffres (00-99) 1
%G Année basée sur la semaine 2001
%h Nom abrégé du mois * (identique à %b) Août
%H Heure au format 24 h (00-23) 14
%I Heure au format 12 h (01-12) 02
%j Jour de l'année (001-366) 235
%k Heure au format 24 h, précédées d'un espace (0-23) 14
%l Heure au format 12 h, précédées d'un espace (0-12) 2
%m Mois sous forme de nombre décimal (01-12) 8
%M Minute (00-59) 55
%n Caractère de nouvelle ligne ('\n')
%P Désignation "am" ou "pm" en minuscules pm
%r Horloge au format 12 heures * 14:55:02
%R Heure HH:MM sur 24 heures, équivalente à %H:%M 14:55
%s Nombre de secondes depuis l'epoch, 1970-01-01 00:00:00 +0000 (UTC) 1566236649
%S Seconde (00-61) 2
%t Caractère de tabulation horizontal ("\t')
%T Format horaire ISO 8601 (HH:MM:SS), équivalent à %H:%M:%S 14:55:02
%u Jour de la semaine ISO 8601 sous forme de nombre avec 1 (1-7) pour le lundi 4
%U Numéro de la semaine dont le premier dimanche est le premier jour de la première semaine (00-53) 33
%V Numéro de semaine ISO 8601 (01-53) 34
%w Jour de la semaine sous forme de nombre décimal avec le dimanche 0 (0-6) 4
%W Numéro de la semaine dont le premier lundi est le premier jour de la première semaine (00-53) 34
%x Représentation de la date * 08/23/01
%X Représentation de l'heure * 14:55:02
%y Année, deux derniers chiffres (00-99) 1
%Y Year 2001
%z Décalage ISO 8601 par rapport à UTC dans le fuseau horaire (1 minute=1, 1 heure=100). Si le fuseau horaire ne peut pas être déterminé, aucun caractère ne doit être déterminé. 100
%Z Nom ou abréviation du fuseau horaire *Si le fuseau horaire ne peut pas être déterminé, aucun caractère CDT
%% Un signe % %