Gestion des dimensions de date personnalisées

La dimension de date personnalisée permet de charger et de mettre à jour les données avec vos propres dimensions comptables dans les espaces de travail GoodData. Par exemple, si l’année comptable de votre espace de travail démarre au 1er avril, vous pouvez utiliser la dimension de date personnalisée pour le mois d’avril.

À propos des dimensions de date personnalisées

La dimension de date personnalisée est représentée dans le modèle logique de données (LDM) de votre espace de travail par un ensemble de données Date (voir Dates dans le modèle de données logique) basé sur le modèle de dimension de date urn:custom_v2:date. Par défaut, ce modèle contient des données du calendrier grégorien, du 01/01/1900 au 31/12/2050.

Que vous ayez besoin d’une ou plusieurs dimensions de date dans votre espace de travail (par exemple, si vous souhaitez différencier la date d’achat de la date de livraison), vous pouvez avoir un ou plusieurs ensembles de données Date avec une dimension de date personnalisée. Vous pouvez ajouter une autre dimension de date personnalisée à votre espace de travail à tout moment et commencer à l’utiliser immédiatement.

Quand vous utilisez la dimension de date personnalisée, vous avez les options ci-dessous.

  • Utiliser la dimension de date personnalisée telle quelle (calendrier grégorien du 01/01/1900 au 31/12/2050)
  • Personnaliser la dimension de date personnalisée :
    • charger un calendrier pour une année comptable commençant par un mois arbitraire (par exemple, pour une année comptable commençant en avril),
    • charger votre propre calendrier.

Au besoin, vous pouvez personnaliser une dimension de date personnalisée existante dans votre espace de travail en chargeant un autre calendrier. Si une métrique ou un rapport utilise cette dimension de date, elle ou il est automatiquement mis à jour.

Rallonger des dimensions de date

Par défaut, le modèle de dimension de date urn:custom_v2:date contient les données du calendrier grégorien du 01/01/1900 au 12/31/2050. Vous pouvez rallonger les dimensions de date des calendriers personnalisés au-delà des données par défaut, du 01/01/1900 au 12/31/2100. Toutefois, des plages plus étendues peuvent ralentir les performances. Pour améliorer les performances quand vous utilisez des dimensions de date personnalisées, n’utilisez pas de périodes inutiles en-dehors de vos cas d’utilisation de données et d’analyse. Par exemple, si vous ne devez analyser que de 2010 à 2030, gardez votre dimension personnalisée entre ces dates.

Si vous avez besoin d’une prise en charge des dates jusqu’au 12/31/2100 tout en évitant de potentiels problèmes de performances, vous pouvez télécharger l’archive urn_custom_v2_date_2100.csv.zip. Ce modèle de dimension de date contient les dates du 01/01/1950 au 12/31/2100.

Anciennes dimensions de date

Les dimensions de date suivantes sont utilisées mais ne sont pas recommandées pour les nouveaux projets :

  • urn:custom:date: Cette dimension de date est similaire à la dimension de date urn:custom_v2:date et propose toutes les fonctionnalités de urn:custom_v2:date, à l’exception de l’option de comparaison des données à celles de la même période sur l’année précédente, avec le paramètre Semaines, dans les filtres de date d’Analytical Designer et des tableaux de bord de KPI.
  • urn:gooddata:date: Cette dimension de date contient par défaut les dates du calendrier grégorien (du 01/01/1900 au 31/12/2050) et ne peut pas être adaptée pour créer un calendrier comptable personnalisé.

Si vous utilisez une ancienne dimension de date et voulez passer à la dimension de date urn:custom_v2:date, consultez Passer d’une ancienne dimension de date à urn:custom_v2:date.

Ajouter la dimension de date personnalisée à un espace de travail

Pour ajouter la dimension de date personnalisée à votre espace de travail, ajoutez un ensemble de données Date au modèle de données logique (LDM) de votre espace de travail.

Étapes :

  1. Dans votre espace de travail, basculez vers l’onglet Données.

  2. Cliquez sur Modèle en haut. Le modèle de données logique s’affiche.

  3. Cliquez sur Modifier.

  4. Glissez-déposez Date à partir du panneau de gauche vers le canevas. Un ensemble de données Date basé sur la dimension de date urn:custom_v2:date est ajouté. Par défaut, il est appelé « Date ». 

  5. Saisissez le nom de l’ensemble de données.

  6. Créez une relation entre l’ensemble de données Date et un autre ensemble de données que vous souhaitez analyser par date.

    1. Sélectionnez l’ensemble de données Date.
    2. Cliquez sur le point bleu sur la bordure droite de l’ensemble de données Date et faites glisser la flèche qui s’affiche pour connecter l’ensemble de données Date à l’autre ensemble de données. La relation est établie.
  7. Publiez le LDM (pour en savoir plus, consultez Publier un modèle de données logique). Lors de la publication, utilisez l’option Préserver les données pour garantir que les données sont chargées dans l’espace de travail et non supprimées.

La dimension de date urn:custom_v2:date contenant des données de calendrier grégorien (le calendrier par défaut de GoodData), est maintenant ajoutée à votre espace de travail.

Utiliser un script MAQL DDL pour intégrer la dimension de date personnalisée

Vous pouvez utiliser une API pour ajouter une dimension de date personnalisée à votre espace de travail.

Pour cela, utilisez l’API d'exécution de script MAQL DDL avec le corps de requête suivant :

{ "manage": { "maql": "INCLUDE TEMPLATE \"urn:custom_v2:date\"" } }

Cette API ajoute la dimension de date urn:custom_v2:date avec les données de calendrier grégorien par défaut à votre espace de travail.

Modifier urn:custom_v2:date avec un calendrier personnalisé

Par défaut, urn:custom_v2:date contient le calendrier par défaut (calendrier grégorien du 01/01/1900 au 31/12/2050). Si vous ne voulez pas utiliser le calendrier par défaut, modifiez la dimension de date personnalisée avec un calendrier personnalisé :

  1. Préparez un fichier CSV avec les conditions requises du calendrier.
  2. Transférez le fichier CSV vers un stockage spécifique à l’utilisateur.
  3. Exécutez une tâche de chargement.

Préparer un fichier CSV avec les conditions requises du calendrier

Vous pouvez choisir d’utiliser un calendrier pour années comptables commençant par un mois arbitraire ou de créer votre propre calendrier.

Vous pouvez aussi revenir au calendrier par défaut (calendrier grégorien du 01/01/1900 au 31/12/2050) à partir de n’importe quel calendrier chargé.

Utiliser un calendrier pour années comptables commençant par un mois arbitraire

Téléchargez le fichier CSV avec la dimension de date du mois de départ de votre année comptable :

MoisFichier CSV
Janvierurn_fcjan1_v2_date.csv.zip
Févrierurn_fcfeb1_v2_date.csv.zip
Marsurn_fcmar1_v2_date.csv.zip
Avrilurn_fcapr1_v2_date.csv.zip
Maiurn_fcmay1_v2_date.csv.zip
Juinurn_fcjun1_v2_date.csv.zip
Juilleturn_fcjul1_v2_date.csv.zip
Aoûturn_fcaug1_v2_date.csv.zip
Septembreurn_fcsep1_v2_date.csv.zip
Octobreurn_fcoct1_v2_date.csv.zip
Novembreurn_fcnov1_v2_date.csv.zip
Décembreurn_fcdec1_v2_date.csv.zip

Utiliser votre propre calendrier

Créez un fichier CSV avec vos conditions requises de calendrier comptable personnalisé. Vous pouvez télécharger le fichier CSV avec le calendrier par défaut (urn_custom_v2_date.csv.zip) et le modifier en fonction de vos besoins.

Votre fichier CSV doit remplir les conditions requises ci-dessous.

  • Le fichier contient des colonnes respectant l’ordre prédéfini (listé dans le tableau ci-dessous) et des exemples de valeur.
  • Une colonne contient maximum 50 caractères.
  • Les en-têtes de colonne représentent les identificateurs d’attributs displayForm (libellés d’attribut).
  • Les lignes sont triées par date.day.yyyy_mm_dd.
  • Les contraintes suivantes sont respectées pour certaines colonnes (consulter le tableau ci-dessous). 
    • Séquence incrémentielle (colonnes de date) : la différence entre deux enregistrements strictement suivants doit être 1.
    • Séquence périodique non décroissante (jour du mois, jour de la semaine, etc.) : deux enregistrements strictement suivants a et b doivent remplir une des conditions suivantes :
      • b=a
      • b=a+1
      • b est égal à la valeur minimum de la séquence (par exemple, la séquence (5,5,6,6,7,7,1,2,3,3,3,3,1,2,3,4,5) est valide).
    • Séquence non décroissante (semaine, année, etc.) : deux enregistrements strictement suivants a et b doivent remplir l’une ou l’autre des conditions suivantes :
      • b=a
      • b=a+1
Identificateur de libelléModèle de valeurExempleContrainte
date.day.yyyy_mm_ddyyyy-MM-dd1900-12-31Séquence incrémentielle
date.day.uk.dd_mm_yyyy 31/12/1900 
date.day.us.mm_dd_yyyy 12/31/1900 
date.day.eu.dd_mm_yyyy 01-01-1900 
date.day.us.long Lun, 1er jan, 1900 
date.day.us.m_d_yy 1/1/00 
day.in.euweek.short Lun 
day.in.euweek.number[a-zA-Z_ ]*[0-9]1Séquence périodique
day.in.euweek.long Lundi 
day.in.year.default[a-zA-Z_ ]*[0-9]D1Séquence périodique
quarter.in.year.default[a-zA-Z_ ]*[0-9]Q1Séquence périodique
month.in.quarter.number[a-zA-Z_ ]*[0-9]M1Séquence périodique
month.in.year.short Jan 
month.in.year.m_q M1/Q1 
month.in.year.number[a-zA-Z_ ]*[0-9]M1Séquence périodique
month.in.year.long Janvier 
week.wk_qtr_year W1/Q1/1900 
week.from_to Dec 31, 1899 - Jan 6, 1900 
week.starting Wk. of Sun 12/31/1899 
week.wk_year_cont W53/1899 - W1/1900 
week.wk_year W1/1900Séquence non décroissante
week.wk_qtr_year_cont W14/Q4/1899 - W1/Q1/1900 
euweek.wk_qtr_year W1/Q1/1900 
euweek.from_to Jan 1, 1900 - Jan 7, 1900 
euweek.starting Wk. of Mon 01/01/1900 
euweek.wk_year_cont W1/1900 
euweek.wk_year W1/1900Séquence non décroissante
euweek.wk_qtr_year_cont W1/Q1/1900 
week.in.year.number_us[a-zA-Z_ ]*[0-9]W1Séquence périodique
day.in.week.short Lun 
day.in.week.number[a-zA-Z_ ]*[0-9]2Séquence périodique
day.in.week.long Lundi 
week.in.quarter.number_us[a-zA-Z_ ]*[0-9]W1Séquence périodique
euweek.in.quarter.number_eu[a-zA-Z_ ]*[0-9]W1Séquence périodique
day.in.quarter.default[a-zA-Z_ ]*[0-9]D1Séquence périodique
month.short Jan 1900 
month.number 1/1900Séquence non décroissante
month.long January 1900 
day.in.month.default[a-zA-Z_ ]*[0-9]D1Séquence périodique
year.default 1900Séquence non décroissante
euweek.in.year.number_eu[a-zA-Z_ ]*[0-9]W1Séquence périodique
quarter.short_us Q1/1900Séquence non décroissante
year.for.week.number 1900Séquence non décroissante
year.for.euweek.number 1900Séquence non décroissante
quarter.for.week.number Q1/1900Séquence non décroissante
quarter.for.euweek.number Q1/1900Séquence non décroissante

Utiliser le calendrier par défaut

Si vous voulez réinitialiser le calendrier pour utiliser le calendrier par défaut, téléchargez urn_custom_v2_date.csv.zip. Cette dimension de date correspond au calendrier par défaut dans la dimension de date urn:custom_v2:date (calendrier grégorien du 01/01/1900 au 31/12/2050).

Transférer le fichier CSV à un stockage spécifique à l’utilisateur

Étapes :

  1. Compressez le fichier CSV. Le fichier d’archive doit contenir un fichier avec le même nom que le fichier zip, sans l’extension .zip. Par exemple, le fichier d’archive urn_fcnov1_v2_date.csv.zip contiendra urn_fcnov1_v2_date.csv.
  2. Mettez le fichier d’archive dans votre stockage de données (voir Stockage de données spécifique de l’utilisateur).

Exécuter une tâche de chargement

Étapes :

  1. Utilisez l'API de chargement des dimensions de date.

    • Ressource d’API :https://secure.gooddata.com/gdc/md/{workspace_id}/datedimension/pull

    • Méthode :POST

    • Corps de requête :

      { "dateIntegration": { "file": "/path/to/archive/file.zip", "datasets": [ "{date_dataset_identifier}" ] } }
      
      • N’incluez pas la section /uploads dans le chemin d’accès au fichier. Par exemple, si le fichier s’appelle urn_fcapr1_v2_date.csv.zip et est stocké dans /uploads/, saisissez le chemin d’accès /urn_fcapr1_v2_date.csv.zip.
      • {date_dataset_identifier} spécifie l’ensemble de données Date dans lequel vous voulez charger le fichier CSV. Par exemple, date1.dataset.dt.
    • En-têtes de la requête :

      Content-Type:application/json Accept:application/json
      

    La tâche s’exécute et le lien d’interrogation du statut de la tâche est renvoyé.

  2. Interrogez le statut jusqu’à ce que le statut de tâche OK soit renvoyé. La dimension de date personnalisée est mise à jour avec le calendrier sélectionné.

 

Au lieu d’utiliser l’API, vous pouvez utiliser la page grise pour mettre à jour la dimension de date personnalisée :

https://secure.gooddata.com/gdc/md/{workspace_id}/datedimension/pull

Gestion du cycle de vie (LCM) et dimension de date personnalisée

La Gestion du cycle de vie (voir Gérer des espaces de travail via LCM (Gestion du cycle de vie)) prend en charge la dimension de date personnalisée.

  • Si l’espace de travail principal inclut la dimension de date personnalisée, les espaces de travail client créés à partir de cet espace de travail principal héritent de cette dimension personnalisée, mais avec le calendrier grégorien par défaut, indépendamment du calendrier contenu dans la dimension de date de l’espace de travail principal. Vous pouvez ensuite charger un autre calendrier dans la dimension de date personnalisée de l’espace de travail client si nécessaire. Ce calendrier ne sera pas écrasé lors de la synchronisation.
  • Vous pouvez utiliser différents calendriers dans la dimension de date personnalisée dans différents espaces de travail client du même segment. Si vous devez unifier le calendrier de la dimension de date personnalisée de l’espace principal et de son espace de travail client, vous devez charger le calendrier cible dans la dimension personnalisée de chaque espace de travail séparément.

Passer d’une ancienne dimension de date à urn:custom_v2:date

Pourquoi migrer vers urn:custom_v2:date ?

Si vous utilisez Analytical Designer et des tableaux de bord de KPI, nous vous conseillons de passer à la dimension de date urn:custom_v2:date. Avec la dimension de date urn:custom_v2:date, vous avez l’option de comparer des données à celles de l’année précédente sur une même période, par semaine, dans les filtres de date (par exemple, comparer les données de la Semaine 25 en 2018 et de la Semaine 25 en 2017). Lorsque vous effectuez une comparaison de semaines sur deux années différentes, les dates diffèrent. Si une semaine est partagée sur deux années ou trimestres (elle commence sur l’année ou le trimestre précédent et se termine sur l’année ou le trimestre en cours), le critère établissant à quel trimestre ou année cette semaine appartient doit être défini. La dimension de date urn:custom_v2:date s’applique à ces cas d’utilisation.

Pour en savoir plus sur les filtres de date dans Analytical Designer et les tableaux de bord de KPI, consultez Filtres dans Analytical Designer et Filtres de date dans les tableaux de bord.

Effets de la migration vers urn:custom_v2:date sur vos données

Colonnes supplémentaires dans urn:custom_v2:date

Par rapport aux anciennes dimensions de date, urn:custom_v2:date contient quatre colonnes supplémentaires :

  • year.for.week.number
  • year.for.euweek.number
  • quarter.for.week.number
  • quarter.for.euweek.number

Ces colonnes vous donne l’option de comparer des données d’une même période sur plusieurs années, par semaines, dans les filtres de date. Ces colonnes ne sont pas visibles dans l’interface d’Analytical Designer ou des tableaux de bord de KPI et sont utilisées par XAE (Extensible Analytics Engine) pour le calcul de rapports.

Si une semaine est partagée sur deux années ou trimestres (elle commence sur l’année ou le trimestre précédent et se termine sur l’année ou le trimestre en cours), voici comment son appartenance à une année ou un trimestre est définie :

  • year.for.week.number et quarter.for.week.number : la semaine appartient à l’année à laquelle appartient le samedi de cette semaine.
  • year.for.euweek.number et quarter.for.euweek.number : la semaine appartient à l’année ou au trimestre auquel appartient le jeudi de cette semaine.

Après être passé à urn:custom_v2:date, les éléments suivants sont appliqués :

  • euweek.in.year.number_eu est calculé à l’aide de la norme ISO 8601 (c’est-à-dire, la semaine appartient à l’année à laquelle appartient le jeudi de cette semaine) ; une année comporte 52 semaines (ou 53 dans une année bissextile intercalaire).
  • week.in.year.number_us commence un dimanche et appartient à l’année à laquelle appartient son dernier jour.
  • euweek.in.quarter.number_eu s’aligne sur euweek.in.year.number_eu :
    • la première semaine d’une année est la première semaine d’un trimestre,
    • chaque trimestre comporte 13 semaines (ou 14 dans le dernier trimestre d’une année bissextile intercalaire).
  • week.in.quarter.number_us s’aligne sur week.in.year.number_us, en suivant les mêmes règles qu’une semaine européenne, avec des données américaines.

Différents identificateurs de libellés d’attribut

Par rapport à la dimension de date urn:gooddata:date, urn:custom_v2:date contient des identificateurs de libellés d’attribut différents (displayForm).

  • Si vous chargez des données sur la plateforme GoodDate à l’aide de l’API (voir Chargement de données via l’API REST), modifiez votre manifeste SLI pour intégrer les nouveaux identificateurs.
  • Si vous chargez des données sur la plateforme GoodData à l’aide de graphiques CloudConnect, vérifiez le mappage de données dans les composants GD Dataset Writer de vos graphiques.

Première semaine de 1900 supprimée

Par rapport à la dimension de date urn:gooddata:date, urn:custom_v2:date ne contient pas la première semaine de l’année 1900 (1900-01-01 – 1900-01-07).

Une autre méthode de calcul des agrégations de dates

Par rapport à la dimension de date urn:gooddata:date, la dimension de date urn:custom_v2:date utilise une autre méthode de calcul des agrégations de date.

Par exemple, une métrique qui renvoie l’année la plus récente (telle que SELECT MAX(Year)) renvoie l’ID de la valeur d’attribut correspondant à l’année et non l’année (par exemple, 121 au lieu de 2020).

Si vous avez besoin d’afficher l’année, modifiez la métrique :

  1. Soustrayez une valeur numérique égale à l’ID de la valeur d’attribut de l’année. Pour cela, sélectionnez l’année correspondante dans le menu de droite Valeurs d'attribut. Pour en savoir plus sur la modification de métrique dans l’Éditeur de métriques personnalisées, consultez Apprendre à utiliser MAQL pour écrire des métriques.
  2. Ajoutez une valeur numérique égale à l’année.

Par exemple, pour l’année 2020, la métrique modifiée prendrait cette forme :

Passer d’une ancienne dimension de date à urn:custom_v2:date

Pour migrer les ensembles de données Date de votre espace de travail à partir de la dimension de date urn:gooddata:date ou urn:custom:date vers la dimension de date urn:custom_v2:date, utilisez l'API pour migrer des ensembles de données Date vers la dimension de date personnalisée. Vous pouvez migrer tous les ensembles de données Date ou uniquement quelques uns.

Si vous utilisez LCM et migrez des ensembles de données Date dans l’espace de travail principal vers }urn:custom_v2:date, les espaces de travail clients créés à partir de l’espace de travail principal hériteront cette dimension personnalisée lors de la prochaine synchronisation.

Calendriers pour années comptables commençant par un mois arbitraire pour urn:custom:date

Si vous utilisez la dimension de date urn:custom:date et avez besoin de la modifier pour un calendrier personnalisé, choisissez un fichier CSV en fonction du premier mois de votre année comptable.