vendredi 1 août 2008

PPS Planning et SQL Server Enterprise

SQL Server 2005 (ou 2008) version Enterprise est un prérequis de PerformancePoint Server Planning. Plus précisément, ce sont certaines fonctionnalités du module Analysis Services qui créent cette dépendance. Par contre, les metadata de planning stockées en relationnel n'utilisent aucune particularité de la version entreprise et pourraient donc être installées sur une version standard dans le cas d'une installation distribuée.

Mais quelles sont donc ces fameuses fonctionnalités d'SSAS qui créent cette dépendance? On trouve pas mal d'informations contradictoires sur le sujet que ce soit sur les blogs ou les forums. D'où l'idée de ce petit post afin de clarifier tout ça.

Les fausses raisons

  • Le Writeback: Pendant longtemps j'ai cru que la dépendance venait de cette fonctionnalité qui permet de modifier directement les cellules d'un cube sans modification de la table de faits sous jacente. Il n'en est rien. Quand un utilisateur saisie des données dans un formulaire sous Excel et qu'il les soumet, il y a alors une étape intermédiaire qui consiste à mettre ces données à jours dans la base relationnelle (datawarehouse) avant de reprocesser le cube (model). La fonction native de writeback d'SSAS n'est donc pas utilisée dans cette version de PPS.

  • Le Pro-active Caching: J'ai pu lire sur plusieurs blogs que les cubes générés par Planning (lorsqu'on crée un model dans le Business Modeler) utiliseraient la fonctionnalité de proactive caching d'SSAS. Celle-ci permet un accès en "temps réel" aux dernières valeurs de la table de faits sous jacente au cube lorsque celui ci n'est pas encore reprocessé. Il s'avère qu'en ouvrant ces cubes dans management studio, on s'aperçoit vite que cette propriété n'est pas activée...donc fausse piste là aussi!

Si toutes ces raisons qui sont très largement reprises sur le net sont fausses, d'où vient donc cette dépendance du module Planning de PPS à la version Enterprise d'SQL Server? Il y en a t il réellement une au delà de l'aspect purement "licensing"? Je vous rassure, la réponse est oui :-)


Les vraies raisons

  • L'intelligence financière: Dans PPS-P, une des dimensions préexistantes "Account" utilise une fonctionnalité "SSAS Enterprise only", celle des dimensions d'intelligence financière (Account Intelligence). Derrière ce nom un peu sophistiqué se cache en fait la possibilité de créer une dimension contenant différents comptes et de paramétrer correctement les agrégations en fonction du type de compte choisi. Typiquement, un compte de type "Asset" sera considéré comme un compte "debit" et aura une agrégation semi-additive.
  • Les mesures semi-additives: C'est une conséquence directe de l'utilisation de l'intelligence financière. Certains types de comptes ont des mesures semi-additives. En opposition aux mesures additives classiques (sum par exemple), les mesures semi-additives ne s'agrègent pas sur la dimension temps. C'est logique, si sur un compte vous avez 1000€ en janvier, 1000€ en février et 1000€ en mars, afficher 3000€ comme valeur pour ce trimestre n'a aucun sens. C'est donc là qu'interviennent ces mesures semi-additives, comme "last non empty" par exemple qui afficherait ici 1000€ pour le trimestre.
  • Les opérateurs unaires: Autre conséquence de de l'utilisation de l'intelligence financière. Certains types de comptes sont de type "debit", d'autres de type "credit". C'est ce qui définit la façon dont un compte doit être agrègé dans la hiérarchie "account". Ainsi les valeurs seront ajoutées ou soustraites lors des agrégation sur cette dimension en fonction de l'opérateur unaire défini.

Conclusion


Il y a donc bien une dépendance physique entre PerformancePoint Planning et SQL Server Enterprise; ce n'est pas seulement du "licensing".

Si vous ne possédez que la version standard de SQL Server, rassurez vous, vous pourrez tout de même utiliser PerformancePoint Server....mais uniquement les modules Monitoring & Analytics.

Ps: Il est possible qu'il y ait d'autres dépendances qui m'aient échappées. N'hésitez pas à réagir dans les commentaires si c'est le cas!



samedi 19 juillet 2008

Certification 70-556

Ayant enfin eu un peu de temps en cette fin de semaine, j'en ai profité pour passer la certification 70-556, "Microsoft Office PerformancePoint Server 2007: Applications". Celle ci donne accès au titre de Microsoft Certified Technology Specialist (MCTS).

Étant tenu par un NDA (Non Disclosure Agreement) je ne peux pas trop m'étendre sur son contenu. Je peux seulement vous renvoyer vers le programme officiel de révision et vous dire que seuls les modules Planning et M&A sont abordés, ce module planning représentant une très très grosse partie de l'examen.

Pour se préparer à cette certification je conseille de manipuler un maximum l'outil. Si vous n'êtes pas sur un projet réel, construisez vous des petits scénarios pour tester l'appli dans ses moindres détails...ça paye!

Sinon 2 très bons livres sont disponibles sur le sujet. Il s'agit des références dans le domaine écrits par Nick Barclay et Andrew Downes:





Ces deux livres, écrits en anglais (langue de la certification) offrent aux lecteurs une bonne vue d'ensemble des 2 modules Planning et M&A. Agrémentés d'astuces/conseils et accompagnés de nombreux chapitres "bonus" disponibles en ligne (après enregistrement), ces livres permettent de débuter facilement dans le monde PPS. Pour aller plus loin, il peut être intéressant de se référer aux fichiers d'aide en ligne de la solution.

Deux autres livres que je n'ai pas encore eu la chance de lire sont disponibles:

"Business Intelligence with Microsoft® Office PerformancePoint Server 2007" écrit par Craig Urley





"Drive Business Performance: Enabling a Culture of Intelligent Execution" écrit par Bruno Aziza et Joey Fitts.




lundi 14 juillet 2008

Le SP1 de PPS disponible.... en français!

Une information que je n'avais pas encore relayée et qui me semble important d'annoncer, et pourquoi pas aujourd'hui, en ce jour de fête nationale :-)

Le service pack 1 (SP1) de PerformancePoint Server est désormais disponible dans notre langue maternelle.

2 versions sont disponibles:





Après avoir décompressé le fichier PerformancePointDownload32bit_FR.exe (pour les utilisateurs de la version 32 bits), vous obtiendrez un répertoire contenant 4 exécutables et un fichier word.


Planning:


  • PPLSvr.msp: Pour mettre à jour le serveur Planning

  • PPLXCli.msp: Pour mettre à jour l'add-in Excel sur un poste client

  • PBMCli.msp: Pour mettre à jour le Business Modeler sur un poste client

Monitoring & Analytics:

  • PSCSrv.msp: Pour mettre à jour le serveur Monitoring

Petite remarque, si vous utilisez la VPC Partner de démonstration fournie par Microsoft, vous aurez sûrement remarqué que ce SP1 ne s'installe pas directement. En effet c'est une machine "tout en un" qui est à la fois contrôleur de domaine et serveur PPS (Planning et M&A). Or ces deux installations sont normalement incompatibles. Il faudra donc lancer les deux exécutables serveur avec l'option SKIPREQCHECK à 1.

vendredi 11 juillet 2008

Réflexion sur les domaines d'utilisation du module Planning

Un petit article après quelques semaines de vacances et un retour assez chargé. Un indice, le pays qui fut ma destination est depuis une semaine sous les feux de l'actualité…. Deuxième indice, c'est un pays que je qualifierais de... stupéfiant! Anyone? :-)

J'ai eu l'occasion de discuter avec pas mal de monde de ce fameux module PPS Planning. Je me suis aperçu qu'il reste bien souvent assimilé au domaine de l'élaboration budgétaire. Certes, c'est bien le secteur visé en premier lieu par celui-ci. On peut en effet profiter de tous les "job templates" disponibles qui permettent notamment d'effectuer des conversions monétaires, des réconciliations d'intercos etc.

Mais au-delà de l'élaboration budgétaire, vous pouvez utiliser le module planning dans bien d'autres situations. Pensez notamment à l'add-in Excel et toutes les possibilités qu'il présente. Dès qu'Excel est utilisé dans une entreprise pour collecter (récupérer des données de différentes personnes) et consolider des données (agréger ces données), PPS Planning peut trouver sa place.

En effet, vos utilisateurs bénéficieront par exemple du fait que:

  • les données sont centralisées donc pas de perte possible, pas de confusion entre 2 versions d'un fichier Excel etc. Pas non plus d'aller retour par email avec le fichier en pièce jointe.


  • Le système de Workflow est également un atout. Vous pouvez définir une chaîne de saisie avec une liste de personnes en charge de valider (ou non) les données saisies.


  • La saisie à des niveaux agrégés vous permettra par exemple de saisir une donnée au niveau de votre organisation et de la répartir suivant un système de ratio aux niveaux feuilles, les différentes unités de votre organisation.


  • Si vos utilisateurs n'ont pas une connexion très fiable au réseau, ils peuvent réaliser leurs saisies en mode déconnecté. Cela facilite la mobilité pour les collaborateurs étant souvent en déplacement que ce soit en avion ou en train.


  • Le tout dans Excel, un environnement familier que la plupart des collaborateurs d'une entreprise ont déjà utilisé. On ne change donc pas leurs habitudes, on reste dans un domaine connu.

Les domaines d'application sont donc multiples. Lors du petit déjeuner organisé par Winwise dont je vous parlais il y a peu, le domaine RH (Ressources Humaines) avait été volontairement choisi pour justement démontrer que ce module planning n'était pas réservé seulement à l'élaboration budgétaire mais qu'il permet également de gérer des effectifs pour ne citer que cet exemple.


Au delà des atouts apportés par l'add-in Excel, vous pouvez très bien imaginer utiliser ce module comme une interface conviviale et simplifiée de création de datawarehouse et de cubes. En effet, en utilisant le Business Modeler vous allez, de manière transparente, créer des bases relationnelles ayant un schéma en étoile ou flocon (Datawarehouse) et des bases multidimensionnelles contenant des cubes. Bien sûr, cela ne s'applique pas à toutes les situations. Si vos spécifications pour les cubes sont assez complexes, vous n'échapperez pas à l'utilisation d'Analysis Services. Mais si vous restez dans un schéma assez simple, utiliser le module planning peut vous faire gagner du temps!

dimanche 1 juin 2008

Planning Data Migration Tool

Un nouvel outil est désormais disponible, le "Planning Data Migration Tool".

Comme son nom l'indique, il permet de transférer les données de vos applications planning.
Cela inclut les dimensions, les hiérarchies, les données des tables de faits et les associations.

Bien que la migration des données puisse être réalisée manuellement, cet outil devrait vous faire gagner du temps en automatisant la procédure.


Petit aperçu de l'interface graphique:




(Source image: http://technet.microsoft.com/en-us/library/cc512832(TechNet.10).aspx)


Quelques liens pour avoir plus d'informations sur l'outil:

jeudi 29 mai 2008

Aller plus loin avec l'add-in Excel de PPS-P

L'add-in Excel de PerformancePoint Planning permet de créer facilement de nombreux rapports et formulaires de saisies. Son utilisation est plutôt simple, il suffit en effet de sélectionner les éléments qu'on souhaite voir apparaître en colonnes, en lignes ou en filtres.
Cela dit, si vos rapports commencent à être d'une complexité grandissante, des croisements spécifiques en fonction des colonnes par exemple, cette interface peut ne plus s'avérer suffisante. Pas de panique, une solution existe pour créer tous les rapports dont vous pouvez avoir besoin.

Un exemple pratique, j'ai récemment voulu créer un rapport de la forme suivante:
La dimension "Entity" en lignes et les dimensions "Time", "TimeDataView" et "Scenario" en colonnes . La complexité venait du croisement spécifique des colonnes. (voir tableau ci-dessous)



Première tentative en utilisant l'interface de création de rapports. Je crée une nouvelle matrice, je sélectionne les dimensions, les membres de ces dimensions et la mesure. J'obtiens alors le tableau suivant.



On voit qu'on a des colonnes en trop puisque seules la valeur Actual de COMPARETOLASTYEAR (2008) et la valeur Budget de PERIODIC (2009) étaient demandées.

On peut alors avoir l'idée de changer le type de croisement pour ces colonnes.

Pour ce faire, cliquer sur "available actions for selected matrix" dans l'interface de paramétrage de la matrice. Choisir "Define Member Intersections for Colums" et modifier l'option "All intersections " au profit de "Column by Column".




On obtient alors le tableau suivant qui ne correspond toujours pas à ce qui est souhaité.




Heureusement, il existe une possibilité d'entrer soit même la formule MDX correspondant au rapport qu'on souhaite afficher. Par contre, cela nécessite de connaître les bases de ce langage de requêtage de cubes.
Pour rentrer votre requête, accéder aux propriétés de la Matrice, et la saisir dans la partie "User entered MDX".




Une nouvelle fenêtre vous permet de saisir les 4 différentes parties de la requête:


  1. With: Définition de sets ou membres nommés

  2. Columns: Sélection des sets à mettre en colonne

  3. Rows: Sélection des sets à mettre en ligne

  4. Where: Tuple faisant office de filtre

Remarque: une matrix étant propre à un model (Cube), il n'est donc pas possible de modifier la clause FROM de la requête.


Remarque 2: Je conseille vivement de tester sa requête dans Management Studio avant de la saisir dans la matrice, ça évite bien des surprises :-)




Une fois les changements sauvegardés, le rapport se met à jour dans la feuille Excel et ce coup ci on a le rapport souhaité.




Voilà donc une fonctionnalité qui peut débloquer bien des situations. Lorsque vous atteignez les limites de l'interface graphique de création de rapports, pensez au MDX.

jeudi 22 mai 2008

Bug sur les « Time Intelligence Post Filter Formula »

Il y a quelque temps, Christian Chea, un ami et collègue de Winwise, m'a fait part d'un problème qu'il rencontrait avec un Dashboard Monitoring qui contenait un filtre du type « Time Intelligence Post Filter Formula ». Il observait une différence de 1 jour entre la date sélectionnée dans le calendrier et la date réellement prise en compte par le système.
Par exemple, s'il choisissait dans le filtre (calendrier) la date du « 22 mai », le système comprenait « 21 mai ».

Après quelques recherches sur le net, je suis tombé sur le forum Technet sur lequel il était fait référence à ce problème. C'est un bug connu.

Une correction est prévue pour le SP1 (sorti à la fin de ce mois ci normalement)

En attendant, vous pouvez facilement contourner le problème en remplaçant la fonction Day par (Day+1) lorsque vous faîtes référence à ce jour là dans les formules utilisant le filtre.