Bonjour à tous,
Dans le cadre d'un projet, j'ai monté un petit entrepôt permettant de suivre des saisies de budgets sur des clients. J'ai
- moins de 100 000 clients
- 4 type de budgets (saisie en agence, opérationnel, encours, avancement)
- à peu près 200 000 lignes de faits avec plusieurs mesures (CA Interim, CA recrutement)
Je crée un cube assez simple là-dessus.
Maintenant la demande est de pouvoir identifier les Clients pour lesquels il n'y a aucune saisie en CA Interim ou CA recrutement.
L'idée est de créer un set dynamic répondant à la question avec quelque chose du genre
Puis on me demande la liste des clients avec un EnCours en interim mais sans recrutement, puis un autre etc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE DYNAMIC SET CURRENTCUBE.[Client sans Saisie de Ca Recrutement ou Ca Interim] AS FILTER( [ClientProspect].[Client Prospect].[Client Prospect].Members, ( ([Type Budget].[Type Budget].&[Saisie agence], [Measures].[CA Interim]) * ([Type Budget].[Type Budget].&[Saisie agence], [Measures].[CA Recrutement]) ) = 0), DISPLAY_FOLDER = 'Filtres clients' ;
Le problème est que ces sets sont loin d'être rapide.
Pour si peu de données, sur une bonne machine, je me retrouve avec des temps terrifiant.
Moi qui voulait en plus proposer de l'écriture différée (WriteBack) ça devient complètent impossible (mais c'est encore un autre problème.
je me dis donc que les sets ne sont peut-être pas la meilleur solution pour répondre au besoin...
Qu'est ce que je peux proposer d'autres ?
je pensais conserver le cube pour aller regarder les chiffres tel que, en se baladant librement dans les données ; Puis créer à côté des rapports qui répondent aux différentes question.
Par contre les rapports ne se baseraient plus sur le cube, mais directement en SQL, avec des requêtes correctement indexées et plus rapide que ce que j'obtiens avec les SETS dynamiques.
Bref, qu'en pensez-vous ? Comment répondre au besoin ?
Partager