Voilà :
Ce que je vous demande n'est pas simple ni véritablement simple à expliquer.
Je ne suis pas sur qu'il y ait une solution facile. Mais je suis ouvert à toute solution impliquant SSAS, SSIS et membre calculé. Moi je sêche un peu.
Dans ma capture écran vous retrouverez 7 colonnes.
La mesure qui nous intéresse est la dernière le DSO : il s'agit de la différence entre la date du jour et la date de facture suivant 1 critère.
On prend la ligne qui correspond à la première ligne pour laquelle le montant facturé (de aujourd'hui à une date de facturation donnée) est supérieur au montant ouvert (dans la pièce jointe il s'agit des lignes en jaune).
A partir de là on retrouve une date et on fait la différence entre aujourd'hui et la date en question.
OK : dans mon cas de figure il s'agit d'un DSO par client et je suis capable de le faire en SSIS.
MAIS dans mon cas, un client a plusieurs attribut (dans l'exemple on a mis la catégorie) et donc le montant facturé cumulé n'est plus par client mais pour la catégorie. Le montant ouvert est la somme des montants ouverts de tous les clients de la catégorie. La ligne à repérer ne change pas : première ligne pour laquelle le montant facturé cumulé de la catégorie est supérieur au montant ouvert de la catégorie.
Et le DSO est toujours la soustraction de la date du jour par rapport à la date de facturation de la ligne.
Je pourrais faire une autre mesure en SSIS qui me donne le DSO par catégorie.
Mais a chaque fois le calcul du DSO est "fixe" : il ne se recalcule par automatiquement dans le cube en fonction des attributs choisis par l'utilisateur (au mieux on peut avoir une somme pondérée).
Ma questiion est il possible de faire une mesure qui fonctionne comme tel.
Pour information je suis arrivé à crééer le montant facturé cumulé (avec un SUM) mais je n'arrive pas à l'afficher dans Excel : uniquement en SSAS (dans l'onglet Navigation).
J'avais pensé (ensuite si j'arrive à utiliser le cumul dans Excel) utilisé asticieusement un parrallelpériod sur une dimension temps couplé avec un case when pour mettre une mesure = 1 pour la ligne repérée et 0 pour les autres.
Je voulais ajouter une colonne à mesurer (en SSIS) qui est la différence de mois (ou jour) entre aujourd'hui et la date facturé (mon aggrégation dans le cube est la moyenne de cette mesure pour avoir toujours le même nombre de jour quelque soit le nombre de facture)
Puis le DSO aurait été la multiplication du booléen par cette nouvelle mesure.
Partager