TCD - champs calculé en fonction d'un champ groupé

Signaler
-
Messages postés
513
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
20 octobre 2020
-
Bonjour,

J'ai un TCD qui possède un champ date. J'ai groupé le champ date afin de pouvoir visualiser les données par mois, trimestre ou année. Comme cela:

+2019
- 2020
-Trimestre1
janv
févr
mars
-Trimestre2
avr
mai
juin
+Trimestre3
+Trimestre4

Je souhaite créer un champ calculé qui utilise le nombre de jours dans la période de temps de la ligne affichée. Par exemple, si j'ai une valeur V dans mon tableau, la formule de mon champ calculé ressemblera à V / 'Nb de jours dans la période de temps'.

Le résultat ressemblera à ceci:

Mon champ calculé
+2019 =V/365
- 2020 =V/366
-Trimestre1 =V/91
janv =V/31
févr =V/29
mars =V/31
-Trimestre2 =V/91
avr =V/30
mai =V/31
juin =V/30
+Trimestre3 =V/92
+Trimestre4 =V/92


Le 1re problème que je rencontre consiste à pouvoir utiliser le champ date (agrégé ou non) dans la formule de mon champ calculé. Est-ce possible ?

2e problème: est-il possible dans un champ calculé d'identifier le niveau d'agrégation (Mois ou Trimestre ou Année) pour adapter la formule en conséquence ?

Merci d'avance pour vos idées

2 réponses

Messages postés
513
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
20 octobre 2020
23
Bonjour,

N'est-ce pas la moyenne de tes valeurs V que tu veux faire ?
Si oui, alors tu places ton champ V dans la zone de valeurs du TCD, une seconde fois éventuellement s'il y est déjà, et dans Paramètres des champs de valeurs tu remplaces la fonction de synthèse Somme par Moyenne.
Et si tu veux le nombre de jours, tu places ton champ date dans la zone de valeurs et tu remplaces si nécessaire la fonction de synthèse par nombre.

Cordialement
Messages postés
513
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
20 octobre 2020
23 >
Messages postés
9
Date d'inscription
mercredi 4 juin 2014
Statut
Membre
Dernière intervention
15 octobre 2020

Bonjour,

Je ne pense pas que l'on puisse utiliser les champs calculés pour ton besoin, les possibilités en termes de formules de ces champs sont assez limités et tu as trop de formules différentes. Un TCD demande une certaine homogénéité.

Cependant en ajoutant des colonnes dans ton tableau de base, du style nombre de jours de l'année, du trimestre et du mois, puis en calculant les pourcentages correspondants, on doit pouvoir en faire la synthèse avec des TCDs.
Il doit être possible aussi de faire un tableau qui ressemble à ton souhait mais plus statique avec la fonctions SOMMEPROD (ou SOMME.SI.ENS) et en faisant manuellement les formules adéquates de pourcentage sur chaque ligne.

Regarde si cela te parle, sinon je peux te proposer quelque chose dans ce sens demain.

Cordialement
Messages postés
9
Date d'inscription
mercredi 4 juin 2014
Statut
Membre
Dernière intervention
15 octobre 2020
>
Messages postés
513
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
20 octobre 2020

Bonsoir,

Effectivement j'ai cherché une alternative en ajoutant des colonnes dans la source, mais je me trouve ensuite confronté à un problème concernant la consolidation en trimestre et année de mes champs calculés (priorité de la formule vs le type de consolidation). Le comportement n'est pas le même selon les champs calculés et je ne parviens pas à comprendre la logique ni comment controler ce comportement.
J'ai enrichi mon fichier pour illustrer le problème ici : https://www.cjoint.com/c/JJltopsb6qr

Merci encore pour tes conseils
Messages postés
513
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
20 octobre 2020
23 >
Messages postés
9
Date d'inscription
mercredi 4 juin 2014
Statut
Membre
Dernière intervention
15 octobre 2020

Bonjour,

Une solution avec TCD et champs calculés serait idéale mais comme tes champs calculés comportent des opérations de division avec d'autres champs, tu risque de tomber sur une anomalie de calcul des sous-totaux répertoriée par Microsoft :
https://support.microsoft.com/en-us/help/211470/calculated-field-returns-incorrect-grand-total-in-excel?irgwc=1&OCID=AID2000142_aff_7809_1246483&tduid=%28ir__wsumw2kggckfqwktkk0sohz3zv2xs2p2q9x0dyop00%29%287809%29%281246483%29%28%28d1467da3a88b2376d9ab74471b6d584b%29%28152407%29%281910362%29%28v0304000120863e091db398a148fcbe6d1bd284e553be%29%28%29%29%28d1467da3a88b2376d9ab74471b6d584b%29&irclickid=_wsumw2kggckfqwktkk0sohz3zv2xs2p2q9x0dyop00


Je n'ai pas décortiqué le problème pour les champs groupés, mais je pense qu'il sera toujours plus simple de faire ces calculs dans la BD.
Ci-joint ce que j'ai de façon un peu bourrin en rajoutant pas mal de colonnes dans la BD, mais les calcus sont exacts, sauf erreur de ma part.
Regarde si tu peux y puiser des idées et/ou simplifier pour ton besoin.
https://www.cjoint.com/c/JJmi5RVn7Ho

Cordialement
Messages postés
9
Date d'inscription
mercredi 4 juin 2014
Statut
Membre
Dernière intervention
15 octobre 2020
>
Messages postés
513
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
20 octobre 2020

Merci. Effectivement ça atteint bien l'objectif premier, mais je souhaiterais continuer à creuser la possibilité de le faire dans un TCD unique avec des dates que l'on peut grouper dynamiquement. Je pense pouvoir y arriver si j'arrive à résoudre le problème de l'agrégation des champs calculés qui ne se comportent pas tous de la même manière (cf. mon 2e fichier exemple). Tu n'aurais pas une idée là-dessus ?

Encore merci
Messages postés
513
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
20 octobre 2020
23 >
Messages postés
9
Date d'inscription
mercredi 4 juin 2014
Statut
Membre
Dernière intervention
15 octobre 2020

Bonjour,

Je crains que ce ne soit difficile (voire impossible ?), car on ne maîtrise pas ce que fait Excel sur les champs calculés lors des regroupements (enfin moi en tout cas). D'ailleurs regarde le champ calculé nombre de jours calendrier qui est exact quand les données sont dissociées mais erroné pour octobre quand les données sont regroupée, même simplement par mois ou même avec un groupement manuel et même en corrigeant l'année dans la formule (2019). Ce qui fait que le % occupation qui en découle est erroné également.
Je n'ai pas d'autre proposition mais si tu trouves une solution à ce problème tu peux la poster ici. On sera content de l'avoir.

Cordialement
Messages postés
9
Date d'inscription
mercredi 4 juin 2014
Statut
Membre
Dernière intervention
15 octobre 2020

Bonjour,

Je pense avoir fait le tour de la question et comme tu le dis, cela semble impossible à faire dans un TCD. En effet le TCD va toujours appliquer la formule du champ calculé pour les niveaux agrégés plutôt que d'appliquer le type d'agrégation choisi et il n'est pas possible de changer ce comportement (grosse lacune !)

En revanche je suis parvenu à reproduire le comportement recherché (en trichant un peu). Illustration ici : https://www.cjoint.com/c/JJogRkmZ2Or

Cordialement,
Messages postés
513
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
20 octobre 2020
23
Bonjour,

Eh oui, le TCD a ses limites.
Très bien ta méthode de donner un poids par période. Cependant, attention, les pourcentages ne sont exacts pour un trimestre ou l'année que si tous les mois de la période sont présents.

Cordialement
Messages postés
9
Date d'inscription
mercredi 4 juin 2014
Statut
Membre
Dernière intervention
15 octobre 2020
>
Messages postés
513
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
20 octobre 2020

Effectivement il faut bien s'assurer d'avoir au moins une ligne par mois pour que cela fonctionne.

Sinon j'ai revu ma copie et il n'est pas nécessaire de "simuler" le TCD pour afficher le taux d'occupation, cela marche très bien avec un champ calculé du TCD dans la mesure où les valeurs intermédiaires sont pré-calculées dans le tableau source.
Exemple : https://www.cjoint.com/c/JJpgWCAVQOr
Messages postés
513
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
20 octobre 2020
23 >
Messages postés
9
Date d'inscription
mercredi 4 juin 2014
Statut
Membre
Dernière intervention
15 octobre 2020

Bonjour,

Très bien !
Une autre proposition très simple avec un tableau de recherche et une macro pour actualiser le TCD
https://www.cjoint.com/c/JJph1dK8doJ

Cordialement