Liaison Power Query, Pivot ,TCD, rapport de filtres, lignes vides
Bonjour
Je souhaiterai de l'aide concernant l'utilisation "normale" des tcd à partir d'une base de données externe.
Le problème vient d'une mise en forme du TCD que je n'arrive pas a obtenir comme je le souhaiterai si c'est possible évidemment
But : Obtenir un rapport pour chaque secteur sur une période variable à partir de TCD
Soit toutes les lignes apparaissent , soit j'ai la forme TCD compacte normale
Merci aux âmes charitables qui pourraient éclaircir ce problème
PS : tout nouveau en Query soyez indulgents
Bonjour
Pas trop cherché à comprendre ton calcul de mois de référence : j'ai juste un poil simplifié
Pour pouvoir afficher toutes les dates de tous les secteurs il faut d'abord faire un produit cartésien des dates/secteurs
Bonjour,
Merci chris pour ton aide et bravo pour la simplification. (Pour les périodes : on part du lundi le plus proche du début du mois (exemple si le 1er est un mercredi on part du lundi précédent si c'est un jeudi on part du lundi suivant : pourquoi faire simple !)
J'ai un peu avancé dans ma quête mais pas trop car je crois atteindre les limites de 2016 en utilisation "normale" sans VBA (bien que ça ne me rebute pas)
Le problème est résolu pour les rapports en restant sur une requête seule.
Mon souci est de lier deux segments et je pense qu'il faut passer par Power pivot pour assurer les liaisons entre les 2 mais on perd les rapports
(évidement c'est pour le fun on pourrait faire un index equiv dant la table)
Je pense pouvoir résoudre le problème du début et fin de période sans passer par un TCD en extrayant le min et max des dates du TCD (j'ai vu ton intervention en VBA) peut-on le faire dans une cellule? j'ai tenté un paramètre de champ min max qui n'apparaissent pas (peut-être que sur les dates ça coince) quant à la formule, je cherche... style =MIN(LIREDONNEESTABCROISDYNAMIQUE(A6;A7:A34)) là pour l'instant je sèche
Pb 2 peut-on ajouter un champ calculé de cumul de durées sur une semaine à afficher le dimanche ? sur le TCD durée
PB 3 peut-on formater les dates dans un TCD jjjj jj mm aa
Merci pour votre soutien
PS: ci-joint le fichier problématique
Bonjour
LIREDONNEESTABCROISDYNAMIQUE lit les valeurs pas les champs en étiquette et on ne peut synthétiser
On peut ajouter le calcul de la semaine dans la requêtes Dates ce qui donnerait
Sur 365, tant qu'un date n'est pas regroupée on peut l'afficher comme on veut (j'ai oublié pour les versions antérieures mais il me semble que c'est pareil)
"Mon souci est de lier deux segments et je pense qu'il faut passer par Power pivot pour assurer les liaisons entre les 2 mais on perd les rapports"
Et plus précisément ?
Bonjour
Encore merci Chris , superbe l'idée de la semaine je n'y avais pas pensé, voici le mien beaucoup moins joli (formatage des dates : pas trouvé)
Je n'ai pas trouvé de solution pour extraire le min et le max des dates du tableau
Pour les segments au début j'avais fait des relations entre tables pour que les segments puissent agir sur les différent TCD mais en faisant cela l'option créer des rapports se désactive lorsque l'on utilise les liaisons et données olap (ce me semble en tout cas en 2016)
Bonne soirée
RE
le min et la max de la source sont au début de la requête Date... Pas sûr de comprendre ce que tu cherches obtenir.
Attention à utiliser la semaine ISO : tes numéros de semaine ne correspondent pas.
Code de la fonction PQ :
let
Source = (MaDate as date) =>
let
Jeudi = Date.AddDays(MaDate, -Date.DayOfWeek(MaDate,1) + 3),
UnJanvier = #date(Date.Year(Jeudi),1,1),
EcartJours = Duration.Days(Duration.From(Jeudi - UnJanvier)),
SemaineISO= Number.RoundDown(EcartJours/7)+1
in
SemaineISO
in
SourcePour les segments tu veux connecter quoi avec quoi ?
Merci Chris, je ne connaissais pas les semaines ISO. Je ne suis pas un pro
Comme dit plus haut, je découvre et teste les capacités de PQ et Pivot, que je ne connaissais pas, avant de tomber sur une vidéo alléchante, pour un projet que j'ai déjà traité en VBA.
Il ne s'agit donc pas d'un réel besoin, mais d'une manie exploratrice pour comprendre les choses.
PQ me paraissant sympathique, j'ai cru naïvement traiter ça rapidement, sauf qu'à chaque chemin pris je tombe dans une impasse.
Il manque toujours un petit quelque chose. C'est frustrant !
Mon idée au départ était de piloter 3 TCD grâce à des relations avec 2 segments Secteur et Mois_ref, ensuite de remplir le calendrier sur une feuille modèle avec les résultats des TCD pour ensuite copier le modèle pour chaque secteur pour une période donnée (en VBA).
Je me suis dit pourquoi ne pas intégrer le calendrier dans la base avec PP et là je perds alors la possibilité des rapports. (frustrant) (voir fichier_base)
Si on revient à ta solution on garde les rapports mais on perd les TCD (plus de liaison) (frustrant à nouveau)
Je trouve aussi que les ressources sont importantes 3240 lignes de requête pour une base de 400 lignes. C gros!
Si le projet t'intéresse je peux fournir la suite des évènements.
Bref je pensais que PQ permettrai d'éviter le VBA mais à quel prix ! Certes pour des cas simples c'est rapide
Ceci dit, je crois que ce projet est très pédagogique pour explorer, à mon sens, les tréfonds de PQ (je me trompe peut-être en temps que novice)
Je comprendrai néanmoins une lassitude voire un désintéressement.
A bientôt j'espère
RE
je ne connaissais pas les semaines ISO. Je ne suis pas un pro
C'est une règle de gestion en France, pas une question informatique.
Mon idée au départ était de piloter 3 TCD grâce à des relations avec 2 segments Secteur et Mois_ref, ensuite de remplir le calendrier sur une feuille modèle avec les résultats des TCD pour ensuite copier le modèle pour chaque secteur pour une période donnée (en VBA).
PowerPivot, basé sur le modèle de bases cubes, est plus complexe à appréhender. Je pense difficile de comprendre les deux Power en même temps pour débuter...
PowerPivot offre des possibilités inexistantes dans les TCD standards mais ne dispose pas de certaines possibilités des TCD standards...
Je trouve aussi que les ressources sont importantes 3240 lignes de requête pour une base de 400 lignes. C gros!
Tu veux afficher toutes les dates quel que soit le secteur on obtient donc nombre de dates X nombre de secteurs
Vouloir afficher des lignes sans données dans un TCD est une approche bizzare : j'y ai répondu mais sans conviction sur l'intérêt...
Là, sans contexte, j'ai du mal à situer concrètement ce que tu faire...
Bonjour et merci Chris pour tes précisions
Pour avoir une vue globale du projet l'objectif est une présentation d'un rapport sous forme de calendrier, pour chaque secteur (si besoin) et par période, des durées et déplacements (c'est fait avec ton astuce qui alourdi obligatoirement la requête)
Le temps total de la période, en fonction du secteur, s'arrondi en heure, demi-journée, journée (d'où le segment que je voulais lier)
La différence entre l'arrondi et le réel que j'appelle solde (>0 ou<0) est si besoin (en fonction du secteur) reporté sur la période suivante
A chaque nouveau secteur qui apparaît dans la base, il faut compléter le tableau [exécution et besoin] avant d'éditer les rapports (eh oui, parfois il est inutile selon le secteur!)
Il reste à totaliser la durée mensuelle puis effectuer les arrondis et ajouter le solde de la période précédente (sur une base externe)
J'avais traité cela en VBA en 8 jours, ça fait un mois que j'y suis, certes pas à plein temps, retraite oblige, mais j'applique le dicton aristotélicien "viellir, c'est cesser d'apprendre"
J'aurais au moins appris ton produit cartésien et les semaines iso, mais les mois iso n'existent pas, dommage...
Effectivement ça ne peut que devenir lourd. Quant aux TCD, j'avais l'espoir de les détourner pour en faire plus, mais visiblement c'est impossible.
Je pense qu'en l'état de mes connaissances actuelles c'est plus corsé que prévu, j'avance pas à pas mais proche de l'abandon dans cette voie.
Merci encore pour ta tempérance et tes explications.