Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
stephaniee
Creator
Creator

Canonical Calendar - 4 dates

Bonjour à tous,

Je dois créer un canonical calendar pour me permettre des données selon des périmètres de dates différentes.

J'ai déjà traité ce point avec deux dates en créant un calendrier pour chaque date, un datebrige et un canonical calendar.

Je suis coincée par rapport à la création de mon datebrige qui doit dorénavant comporter 4 dates si j'ai bien tout compris.

Mes 4 dates sont :

- Date_Dossier de la table "Suivi"

- Assureur_Date_Facturation de la table "Suivi_Facturation"

- Date_Validation_Ecart de la table "Reglement_Ecart"

- Date_Création de la table "Darva_Statut_Facture".

Ci-dessous la structure de mes tables. Je vais donc créer un calendrier pour chaque date; et un canonical calendar.

[suivi]:

LOAD

[Num_Dossier],

[Date_Dossier];

SQL SELECT `Num_Dossier`,

`Num_Sinistre`,

`Date_Dossier`

FROM `capsoffice`.`suivi`;

[suivi_facturations]:

LOAD

[Id_Facture],

[Num_Dossier]  As [Tmp_Num_Dossier]

[Assureur_Date_Facturation];

SQL SELECT `Id_Facture`,

`Num_Dossier`,

`Assureur_Date_Facturation`

FROM `capsoffice`.`suivi_facturations`;

[reglement_ecart]:

LOAD

    `Id_Facture`,

    `Date_Validation_Ecart`;

SQL SELECT

    `Id_Facture`,

    `Date_Validation_Ecart`

FROM capsoffice.`reglement_ecart`;

[darva_statut_facture]:

LOAD

    `Num_Dossier`,

     `Num_Facture`,

    `Date_Creation`;

SQL SELECT

    `Num_Dossier`,

     `Num_Facture`,

    `Date_Creation`

FROM capsoffice.`darva_statut_facture`;

Je vais donc créer un calendrier pour chaque date; et un canonical calendar. Mais comment créer mon datebrige.

Ci-dessous, mon datebridge qui fonctionne pour les deux 1eres dates. il me reste à integrer deux dates.


[DateBridge]:

Load

    Num_Dossier,

    Null() as Id_Facture,

    Date(Floor(Date_Dossier),'DD/MM/YYYY') as Canonical_Date, // Tu t'assure que la date est sur le format DD/MM/YYYY

    'Date_Dossier' as DateType

Resident suivi;

Concatenate (DateBridge)

Load

    Tmp_Num_Dossier as Num_Dossier,

    Id_Facture,

    Date(Floor(Assureur_Date_Facturation),'DD/MM/YYYY') as Canonical_Date, // Tu t'assure que la date est sur le format DD/MM/YYYY

    'Date_Facturation_Assureur' as DateType

Resident suivi_facturations;

Drop Field Tmp_Num_Dossier;


Merci à tous pour votre aide,

Stéphanie

Labels (1)
1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

Salut,

Je pense que tu peux construire ton DateBridge simplement de la manière suivante :

[DateBridge]:
LOAD
NumDossier  as NumDossier,
Null() as Id_Facture,
'Date_Dossier'
as DateType,
Date(Floor(Date_Dossier),'DD/MM/YYYY') as CanonicalDate
Resident suivi;

Concatenate(DateBridge)
Load
Tmp_Num_Dossier  as Num_Dossier,
Id_Facture as Id_Facture,
'Date_Facturation_Assureur'
as DateType,
Date(Floor(Assureur_Date_Facturation),'DD/MM/YYYY') as Canonical_Date
Resident suivi_facturations;

Concatenate(DateBridge)
Load
Tmp_Num_Dossier  as Num_Dossier,
Null() as Id_Facture,
'Date_Création'
as DateType,
Date(Floor(Date_Création),'DD/MM/YYYY') as Canonical_Date
Resident darva_statut_facture;

Concatenate(DateBridge)
Load
Null() as Num_Dossier,
Id_Facture as Id_Facture,
'Date_Validation_Ecart'
as DateType,
Date(Floor(Date_Validation_Ecart),'DD/MM/YYYY') as Canonical_Date
Resident reglement_ecart;

Drop Field Tmp_Num_Dossier;

View solution in original post

12 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

On est bien d'accord que ce n'est pas une obligation d'avoir un calendrier par date et en plus d'avoir toutes les dates dans le canonical calendar. Toutes les combinaison sont possible en fonction de tes besoins:

DateCalendrier champCalendrier canonique
Date 1
Date 2X
Date 3X
Date 4XX

Est-ce que Num_Facture est identique à Id_Facture ?

Il faut nous donner les relations entre les différentes tables, afin de pouvoir créer la bonne structure permettant d'introduire le canonical calendar.

Par exemple :

  • Suivi                1  <===>  0...n        Suivi facturation          par NumDossier
  • ...

Ce qui signifie que :

  • "Suivi" peut être associé à 0 ou plusieurs (0..n) "Suivi facturation"
  • "Suivi facturation" doit être associé à  un (1) "Suivi"
  • Le lien entre les 2 tables est faite par le champ NumDossier
stephaniee
Creator
Creator
Author

Merci pour cette 1ere réponse.

Num_Facture n'est pas identique à Id_Facture. Du coup, par rapport à ton tableau, je dois prendre quelle solution ?

Mon besoin :

- Date_Dossier de la table "Suivi" : compter le dossier selon "Date_Dossier"

- Assureur_Date_Facturation de la table "Suivi_Facturation" : compter les factures selon "Assureur_date_facturation"

- Date_Validation_Ecart de la table "Reglement_Ecart" : compter les ecarts selon "Date_Validation_Ecart"

- Date_Création de la table "Darva_Statut_Facture". : compter les rejets selon "Date_Création".

Et avoir un seul filtre qui permet d'afficher les données selon chaque date.

Comment je procède  ?

stephaniee
Creator
Creator
Author

Présentation1.jpg

stephaniee
Creator
Creator
Author

Je viens de te transmettre les liens entre chaque table et plus précisément mon modèle de données.

sfatoux72
Partner - Specialist
Partner - Specialist

‌Le tableau c’est pas par rapport à la question sur Num_facure et Id_facture, mais par rapport à tes besoins.

Si comme tu le dis tu dois pouvoir afficher dans un même graphique en fonction d’une base temporel commune tes différentes expressions mentionnées dans ton message, il faut que toutes tes dates figures dans un calendrier canonique.

sfatoux72
Partner - Specialist
Partner - Specialist

‌ca ne sert à rien si tu ne donne pas la relation entre les tables comme je te l’ai demandé.

Pour réaliser le calendrier canonique, il faut remonter toutes les dates dans une table commune et cela ne peut se faire que si cest possible que si on connaît les relations entre les tables

stephaniee
Creator
Creator
Author

OK - Je crois que je n'ai pas compris ce que tu entendais par lien entre les tables du coup... Je pensais que tu voulais les champs qui les liaient.

Est-ce cela ? Si non, peux-tu m'aider pour que je t'apporte l'information.

Merci encore pour ton aide,

sfatoux72
Partner - Specialist
Partner - Specialist

je te remet l’exemple et l’explication que je t’ai donné précédemment, j’ai ajouté des couleurs pour être plus clair.

Il faut nous donner les relations entre les différentes tables, afin de pouvoir créer la bonne structure permettant d'introduire le canonical calendar.

Par exemple :

  • Suivi                1  <===>  0...n        Suivi facturation          par NumDossier
  • ...

Ce qui signifie que :

  • "Suivi" peut être associé à 0 ou plusieurs (0..n) "Suivi facturation"
  • "Suivi facturation" doit être associé à  un (1) "Suivi"
  • Le lien entre les 2 tables est faite par le champ NumDossier
stephaniee
Creator
Creator
Author

Alors je dirais les choses comme çà :

  • Suivi             1  <===> 0...n        Suivi facturation          par Num_Dossier
  • Darva_statut_facture            1  <===> 0...n        Suivi facturation          par Num_Dossier
  • Reglement_Ecart        1  <===> 0...n        Suivi facturation          par Id_Facture

J'espère que cela correspond à ce que tu souhaites.