vendredi 31 mai 2013

AfterWork GUSS de Juin 2013


Nous sommes fiers de vous proposer un nouvel Afterwork juste avant les vacances d’été.

Il aura lieu le mercredi 5 juin 2013 à partir de 19h00

Le thème sera très nuageux (c'est malheureusement de saison) puisque ce sera SQL Server et le Cloud. Nous discuterons bien évidemment d’Azure en mode PaaS ou IaaS mais aussi d’architectures hybrides.

Le lieu reste le Charly Birdy du 15ème arrondissement à Paris

Charly-Birdy
1 place Etienne Pernet, Paris 15ème
Métro Commerce

Note : les Afterworks vont être maintenant plus réguliers. Ils auront lieu 1 mois sur 2, tous les 1er mercredi. Bloquez d’ores et déjà vos agendas.

mercredi 13 février 2013

SSAS 2012 : Conversion entre modèles tabulaire et multidimensionnel (1ère partie)

Si vous avez suivi, lors des Techdays 2013, l'excellente session sur Analysis Services 2012 animée par Messieurs François Jehl et Romuald Coutaud, vous avez pu constater que le parser XMLA pour les modèles tabulaires et multidimensionnelles est le même.
En effet, ils ont pu intégrer des actions ou des traductions sur des modèles tabulaires, bien que ces derniers ne proposent pas de le faire. (à noter que la version de BIDS Helper pour SSAS Tabular permet de le faire de manière graphique).

L'idée de départ de cet article est donc la suivante : que va-t-il se passer si j'exécute un script XMLA de create database d'un modèle tabulaire sur un serveur Analysis Services multidimensionnel. Et surtout l'implication logique : vais-je pouvoir convertir mon modèle tabulaire en modèle multidimensionnel ? Ou que va-t-il me manquer pour convertir les modèles ?

Première partie pour l'article, car on va rester sur un modèle tabulaire simple et sur une conversion tabulaire vers multidimensionnel. Il mériterait une deuxième partie pour des modèles plus complexes et une conversion inverse.

On a posé le contexte, on peut donc partir sur notre modèle tabulaire très simple :

  • 1 table de fait (dans laquelle j'ai créé une mesure qui somme mon CA)
  • 1 dimension Client
  • 1 dimension Produit
  • 1 dimension Magasin

Si je me connecte à mon instance SSAS Tabulaire, je peux bien browser mon cube sans souci :


Générons maintenant l'XMLA de création de la database et essayons de l'exécuter sur mon instance multidimensionnelle. J'obtiens l'erreur (attendue) m'indiquant que mon serveur n'est pas un serveur tabulaire :


Et c'est ici qu'on va commencer à mettre les mains dans le XMLA (de manière assez superficielle malgré tout). J'ai en effet bon espoir que cette erreur ne soit due qu'au choix de la valeur InMemory pour le paramètre StorageEngineUsed dans le noeud Database.
Et c'est bien le cas, car en commentant cette ligne, j'obtiens une erreur différente :


L'erreur nouvellement générée est également due à un paramètre de stockage défini à "InMemory", mais cette fois au niveau dimension. On va donc commenter toutes les lignes propres au "StorageMode".
Ça a l'air de marcher car j'obtiens une nouvelle erreur qui ne dépend pas du stockage : Le paramètre UnknownMember ne peut pas être à AutomaticNull sauf pour du modèle tabulaire :


Soit, on va donc continuer sur le même principe et commenter les lignes relatives au UnknownMember. On continue d'avancer car j'obtiens une nouvelle erreur. Celle-ci est intéressante, car elle dit que je ne peux pas avoir de relation au niveau dimension quand je suis en modèle traditionnel. 

Si j'en crois la suite de l'expérience, ça fait surtout sauter les relations qu'on définit au niveau du datasource view, car on verra qu'on obtient bien un Dimension Usage au niveau du cube.

On va commenter les lignes propres aux relations de dimensions, et on continue notre expérience  Evidemment, on obtient une nouvelle erreur. C'est encore un paramètre propre au tabulaire sur le partage de stockage entre dimension et groupe de mesures. On commente et on continue. 
Et là miracle (miracle à moitié, vu qu'en fait j'ai désactivé tout ce qui était propre à du tabulaire) mon XMLA s'est exécuté sans nouvelle erreur. Et j'ai même un cube sur mon serveur multidimensionnel :


J'ai donc réussi la première étape : je vais pouvoir ouvrir mon cube dans SSDT en mode de création multidimensionnel.

Première constatation, j'ai un datasource view fonctionnel sans relation, j'ai des dimensions pour toutes mes tables (il a même gardé la hiérarchie que j'avais créée sur ma dimension Client) et j'ai un cube avec un groupe de mesures également pour toutes les tables (Si on examine le XMLA en tabulaire, on constate bien qu'il crée une dimension et un groupe de mesures par table)
Deuxième constatation, dans toutes mes dimensions il a créé un attribut RowNumber comme clé de dimension (en effet, Tabular crée ce membre par défaut sur chaque table pour garantir l'unicité des lignes, on peut le constater dans le XMLA. Cet attribut a pour KeyColumn et NameColumn RowNumberBinding qui n'est pas supporté en multidimensionnel), mais je ne l'ai pas dans mon datasource view. Les mesures (ici je n'avais créé que le total des CA dans ma table Ventes, se retrouve dans le script MDX. Le Dimension Usage de mon cube contient des relations de type Fact pour chaque groupe de mesure et des relations référencées pour ma table centrale.


A partir de là, il est difficile de continuer sans tout refaire, car 
- si l'on change de clé de dimensions, on casse le dimension usage. Et on est obligé de retoucher aux clés

Cependant le rajout de la fonctionnalité RowNumberBinding au niveau des KeyColumn dans les propriétés des attributs semblerait suffisant à le rendre fonctionnel.

Pour voir ce qui pourrait manquer encore, j'ai continué en reconstruisant les dimensions avec les Id existant dans les tables, et en redéfinissant le Dimension Usage.

La dernière erreur au process du cube vient de notre champ calculé (qui je le rappelle était une bête somme de CA). Toutes les mesures créées en Tabulaire sont en fait exécutées dans le MdxScript. J'obtiens une erreur de syntaxe, ce qui est assez paradoxale quand on sait que l'inverse est possible (écrire du MDX discrètement dans un modèle tabulaire, ce qu'avait fait François Jehl dans sa session au Journées SQL Server 2011).


En ré-écrivant la formule en MDX (en oubliant pas de changer le "=" par "AS"), ça processe, mais ce n'était plus très important. Le principal étant d'avoir pointer du doigt les limites de la conversion.


En conclusion, on sent qu'il ne faudrait pas grand chose pour faire en natif un convertisseur de modèle de tabulaire vers multidimensionnel, car les limites atteintes ne sont pas vraiment rédhibitoires :

- on a tout ce qui concerne le stockage InMemory : il suffirait que le convertisseur le fasse sauter, ou mieux l'intègre au mode multidimensionnel

- ce qui concerne les relations entre dimensions : j'avoue que je n'ai pas vu l'utilité en mode multidimensionnel. Je pensais au début qu'il s'agissait du dimension usage du cube, mais apparemment ce n'est pas ça car il y en a un de défini à l'ouverture

- l'ajout d'une option sur les KeyColumn des attributs (RowNumberBinding) qui permettrait de conserver le dimension usage, ou pourquoi pas un assistant pour regénérer les relations lors de la conversion.

- et pouvoir écrire du DAX dans le MdxScript : les modèles tabulaires pouvant être attaqués en MDX, c'est bien qu'il existe un interpréteur.










mercredi 12 décembre 2012

Journées SQL Server 2012 : Merci à vous tous

C'est l'heure du débriefing des journées SQL et commençons déjà avec les remerciements qui s'imposent :

- Merci François pour cette session co-animée avec toi, c'est un joli cadeau que tu m'as fait. J'espère qu'on a rendu le MDX et le DAX plus amusants (c'est le terme que tu emploierais assurément) et moins obscurs aux yeux du public.

- Merci à ce public d'avoir répondu présent sur notre session qui promettait d'être technique...

- ..., et d'avoir répondu présent sur l'événement en général

- Merci au board GUSS (bon je vais pas vous citer personnellement car on aura l'occasion de le faire en live, mais vous m'en voudrez certainement pas si je dis quand même un bravo à Djeepy pour le boulot abattu, il le mérite bien)



Un petit retour sur les sessions auxquelles j'ai pu assister (étant désormais presqu'en province, vous constaterez qu'elles sont plutôt de l'après-midi) :

Cloud Privé :

Une bonne surprise. J'ai suivi Florian sans avoir lu le contenu de la session et j'ai cru un moment qu'elle ne me concernait pas trop. Mais finalement, elle donnait une vision intéressante sur la création d'un catalogue d'offre de service (ici sur un cloud privé),et donnait des principes pouvant s'appliquer à tout type d'offre. Ce ne fut pas du temps de perdu.

1 an de Tabulaire :

Session présentée par Erwan et Aurélien toujours très pro. Retour sur le mode tabulaire dans SSAS. J'avoue que j'au eu peur un moment qu'il recoupe toutes les démos DAX qu'on avait prévu avec François. Mais ils se sont arrêté à temps :p Cool le petit focus sur la sécurité dont on n'a pas eu le temps de parler le lendemain.

Modélisation Dimensionnelle :

Là ce n'était pas une surprise, mais une confirmation de la session de l'année dernière. Charles-Henri et Florian nous ont fait une présentation toujours aussi sympa des concepts de la modélisation multidimensionnelle pour la BI.
Bien joué les gars, vivement le chapitre 3.

Processing SSAS :

Grosse performance de Patrice sur le sujet. On sent qu'il a décortiqué le produit dans tous les sens, car le sujet et les questions du public étaient vraiment pointus.
Patrice ,comme on savait grâce à ton bouquin que tu avais déjà désossé SSIS, tu nous montres quand ta maîtrise de SSRS ? ;)

Data-Viz, ergonomie et storytelling :

Une session sympa pour finir les deux jours avec Olivier Courtois et Caroline Goulard sur le phénomène en vogue du moment : la datavisualisation. Une présentation très bien rodée, on sent l'expérience, à la fois sur le sujet et à la fois dans la communication.



Voilà les Journées SQL Server 2012 sont finies, vivement l'année prochaine. C'est super de pouvoir compter sur la communauté pour faire de cette événement le plus grand rassemblement d'experts SQL Server de France.
On attend vos retours maintenant pour continuer à nous améliorer.

mercredi 14 novembre 2012

Journées SQL Server 2012, les 10 & 11 Décembre 2012



Quelques nouvelles du front concernant les Journées SQL Server 2012. Les dates sont posées et connues : ce sera les 10 & 11 Décembre 2012. On met donc une petite croix dans son calendrier.

Les inscriptions sont ouvertes également. A noter que comme l'année dernière, l’évènement reste gratuit, mais l'achat d'une lunch box pour le déjeuner est proposée en option.

Les Journées SQL, c'est, en plus de suivre des sessions intéressantes,  l'occasion de croiser la communauté et discuter avec les intervenants qui savent rester accessibles. A ce sujet, n'hésitez pas à consulter le dernier article de Florian sur le "comment pratiquer la communauté".

Dernière news et pas des moindres, j'aurais la chance d'animer une session avec l'excellent François Jehl autour du DAX et du MDX, le mardi à 14h.

Une seule adresse à retenir, tout y est : JSS2012

mardi 21 août 2012

AfterWork BI du GUSS le 27 Août 2012

Vous rentrez de vacances ? Vous y partez prochainement ? Vous êtes restés coincés au mois d’aout à Paris.
Quoiqu’il en soit, venez partager un cocktail de vacances avec la communauté SQL Server.

3ème AfterWork du GUSS, 
…sur un air de vacances
Lundi 27 août, 19h00
MAJ: Le lieu change
The Frog & Princess 
(sous réserve d’ouverture)

image
9 rue Princesse, Paris 
(métro Odéon ou Mabillon)
Le thème ? Soleil, plage et farniente, partage de nos photos de vacances… ?
Plus sérieusement, presque tous les spécialistes BI seront présents donc le thème sera :
La BI, tout simplement
Venez discuter avec nous, leur poser des questions et connaitre leur avis sur les dernières actus décisionnelles.

lundi 13 août 2012

Lancement des Journées SQL Server 2012




A peine les Journées SQL Server 2011 étaient terminées que vous étiez nombreux à nous demander de remettre cela l’année suivante.
Nous avions nous aussi cela à l’esprit et nous avons lancé l’organisation d’une nouvelle édition il y a quelques semaines déjà.

Il y a encore du travail pour mettre au point cette édition 2012 des Journées SQL Server mais nous pouvons néanmoins commencer à vous en dire un tout petit peu plus, comme le fait qu’elle aura lieu à Paris en décembre.

Afin de s’aligner au plus près de vos attentes, nous avons réalisé un sondage pour nous aider dans nos choix.
Cela ne prend pas plus de 3 minutes montre en main donc cliquez sans plus attendre (le sondage est également compatible smartphone).


Et pour être au courant des dernières infos sur les Journées SQL Server 2012, nous sommes en train de vous concocter un mini-site dédié. Une seule adresse à retenir :



Et surtout, utilisez sans modération les réseaux sociaux : le hastag est #jss2012

Toute l'équipe GUSS


mercredi 18 juillet 2012

[Office 15] Excel 2013 : PowerPivot et PowerView en natif

Hier avait lieu la présentation et la mise à disposition de la preview d'Office 15 (qui s'appellera Office 2013).
Ça se passe par ici pour la télécharger :

Pour les consultants BI que nous sommes, c'est l'occasion de voir les nouveautés d'Excel, outil de reporting par excellence. Et les premières impressions sont plutôt bonnes et rassurantes.

PowerPivot 

L'équipe office a donc intégré PowerPivot en natif. Il est vu comme un add-in dans la page d'options d'Excel.


Malheureusement, je n'ai pas pu tester plus en détail, car j'obtiens un message d'erreur dès le clic sur "Manage". J'ai eu beau réinstaller plusieurs fois la preview, j'obtiens le même message (PowerPivot is unable to load the Data Model). On mettra ça sur le compte de la pré-version. MAJ : en installant PowerPivot pour Excel 2010, ça a l'air fonctionnel, mais j'ai deux onglets POWERPIVOT dans le ruban (apparemment un 2010 et un 2013).

 


PowerView

Même chose que pour PowerPivot, l'équipe a intégré PowerView de manière native, comme un add-in.


 Et PowerView est fonctionnel : à l'import classique des données, la dernière boîte de dialogue demande si l'on souhaite intégrer ces données dans un rapport PowerView.


Cela ne marche pour l'instant toujours qu'avec un modèle Analysis Services Tabular (on espère que c'est une limitation due à la pré-version).

Cela ouvre un onglet Excel spécifique en Silverlight avec un menu dans le ruban POWERVIEW.


On peut ensuite commencer à créer sa première analyse.
Une dernière surprise de la preview que vous pourrez constater dans la copie d'écran qui suit : l'intégration de la cartographie dans PowerView, qui manquait cruellement dans la précédente version :


Dans l'exemple précédent, PowerView a matché tout seul les villes par leurs noms (à l'aide Bing Maps), mais on constate également la possibilité de mentionner les latitudes et les longitudes.

Conclusion :

Cette pré-version d'Excel 2013 est vraiment intéressante (elle l'aurait été plus si j'avais réussi à faire fonctionner PowerPivot), avec l'intégration de ces deux fonctionnalités en natif. 
L'ajout de PowerView est un point également très important quand on connait la méthode de déploiement actuelle de l'outil (lourde à l'installation et à l'utilisation via Sharepoint). De plus l'ajout de nouveautés comme la cartographie ne peut être que bénéfique à l'outil pour s'imposer face à la concurrence.