SSAS 2012 :
      Multidimensionnel et
Tabulaire au Romuald Coutaud
  François Jehl – banc d’essai
                 Consultants BI
                 Infinite Square
INFINITE SQUARE
  STAND 44 ESPACE WINDOWS 8 & EXPÉRIENCES NUMÉRIQUES
   Société de conseil, d’expertise, de réalisation et de formation exclusivement sur
    les technologies de développement et la plateforme applicative Microsoft.
   30 collaborateurs spécialisés sur les techno MS, dont 10 MVP.




   GOLD Certified Partner
    sur 4 domaines de compétences.
   Agréé CIR.
   Centre de formation agréé.
Infinite Square aux TechDays 2013
PRESENTATION DE SSAS 2012
Améliorer Analysis Services
Se baser sur les forces et le
                                Ajouter au mode
succès de la plateforme,
                                multidimensionnel un
tout en lui permettant
                                mode relationnel, plus
d’atteindre une base plus
                                connu des développeurs
grande d’utilisateurs



Fournir ces deux possibilités
dans une seule et même          Disposer d’une
plateforme, permettant de       plateforme pouvant servir
réunir les points forts des     de base à toute
deux mondes.                    application décisionnelle.
BI SEMANTIC MODEL?
          Outils Clients
    Ad-hoc, Rapports, Scorecards,
     Dashboards, Applications…


       BI Semantic Model
         Modèle de conception
                                       BI Personnelle     BI d’Equipe       BI d’Entreprise
                                                          PowerPivot pour
         Logique métier                 PowerPivot pour
                                            Excel           SharePoint
                                                                            Analysis Services



         Stockage des données


      Sources de données
 Bases de données, OData,Excel, CSV…

                                                                                                5
Power            Applications           Reporting                                           SharePoint
      View                                                     Excel          PowerPivot
                        Tierces               Services                                            Insights




 Support du     DAX                                      MDX
DAX dans MD
  avec CTP




                                                                                      Bases de
                                                                                      données
              LOB     Fichiers       OData      SQL Azure BI Semantic Model
                                                                                                              6
COMPARAISON DES MOTEURS
Mode tabulaire
• Moteur xVelocity (ex-VertiPaq)
  – Technologie sous jacente de PowerPivot et du
    ColumnStore Index
     • Compression en colonnes
  – Un modèle tabulaire peut être vu comme un index
    ColumnStore couvrant
     • Intégralement en mémoire
     • Dont les relations sont explicitées par un méta-
       modèle
Principe de la compression en colonnes
Mode multidimensionnel
• Moteur MOLAP / UDM
  – Technologie OLAP
     • Stockage nativement multidimensionnel (i.e.
       tableau à n dimensions à accès hiérarchisé)
     • Gestion d’un buffer cache au niveau FE et SE
     • Gestion de pré-agrégations (Aggregations)
  – Scripting très puissant
     • Possibilité de redéfinir le contenu du cube de
       manière dynamique (SCOPE, CustomRollup…)
Points forts / points faibles
• Tabular
   Peu de tuning possible, performance optimale dès la
  mise en production
     • Ex: DistinctCount
   Rapidité au niveau fin
   Moteur relativement jeune, possibilités de calculs
  limitées
     • Pas de SCOPE, pas de membres calculés
   Limité à des volumétries tenant en mémoire
Points forts / points faibles
• Multidimensional
   Performances optimales au niveau agrégé, sur des
  volumétries de centaines de Go
     • MOLAP et Agrégations
   Puissance du scripting
   Performances parfois calamiteuses au niveau fin
   Nécessite de bonnes compétences pour un tuning
  parfait
     • Attribute Relationships… Ad Lib
COMPARAISON DES MOTEURS
Démo
• DAX, un langage relationnel
• SCOPE, où comment tout faire en
  multidimensionnel
Lequel va le plus loin?

FONCTIONNALITÉS AVANCÉES
Fonctionnalités avancées
• Les deux modèles permettent de définir
  des perspectives
  – Vue limitée des cubes par domaine métier (≠sécurité)
• Mais Multidimensional garde encore une
  longueur d’avance…
Traductions
• Les traductions sont de deux types dans SSAS
  Multidimensionnel
  – Traductions structurelles (via <Translations><Caption>)
  – Traductions de contenu (via NameColumn localisées)
• Aucune des deux n’est officiellement
  supportée par Tabular
• Mais la XSL du XMLA est la même pour les
  deux modèles…
Actions
• Sur le même modèle que les traductions,
  une part du XMLA non exploité par Tabular
  – Et donc non supporté là encore
  – XMLA bien plus complexe cette fois ci…
• Mais les développeurs de BIDS Helper ont
  la solution!
FONCTIONNALITÉS AVANCÉES
Démo
• Création d’AttributeTranslation en XMLA
• Création d’une URL Action avec BIDS
  Helper
SCÉNARIOS AVANCÉS DE
SÉCURITÉ
Sécurité du modèle multidimensionnel
• MD gère tous les scénarios de sécurité
  – Cell Security          ”In the presence of cell
     • Peu utilisé…    security a lot of optimizations
                               are turned off!”
                        Mosha Pasumansky-26/11/2006
  – Dimension Security
     • En statique avec assistants graphiques
     • En dynamique avec UserName() ou CustomData()
Sécurité du modèle multidimensionnel
• MD gère tous les scénarios de sécurité
  – Cell Security 
  – Dimension Security
     • En statique avec assistants graphiques
     • En dynamique avec UserName() ou CustomData()
Sécurité du modèle tabulaire : Statique
• Membres
  – Windows User
  – Windows Groups
• Rôles cumulatifs pour les users
  membres de plusieurs rôles
• Permissions:
  – Read, Read & Process,
  – Process
  – Administrator
• Expressions DAX par table
Sécurité du modèle tabulaire : Dynamique
• Données de sécurité stockées en base
• Fonction DAX USERNAME()
• Fonction DAX LOOKUPVALUE()
LOOKUPVALUE(
     <result_columnName>,
     <search_columnName>,
     <search_value>
     [,<search_columnName>,<search_value>]…
)
SÉCURITÉ DYNAMIQUE
MAINTENANCE
Déploiement
• Assistant de déploiement qui permet de
  scripter une base OLAP
• Pas d’équivalent pour le modèle Tabulaire
  pour le moment dans SQL Server…
  …Sauf à utiliser l’utilitaire gratuit BISM
  Normalizer
BISM Normalizer
• Comparaison de Base SSAS
• Réutilisation d’objets tabulaires
• Conservation des partitions existantes
• Fusion de plusieurs classeurs Power Pivot vers
  une base tabulaire
• Scripting, déploiement et rapport sur les
  modifications entre modèle
Scripter et déployer une modification d’un modèle Tabulaire

BISM NORMALIZER
Cumuler les avantages des deux modèles…

DAX FOR MULTIDIMENSIONAL
MODELS
DAX for Multidimensional Models CTP
• Disponible depuis novembre 2012
  – Faculté d’interroger les modèles Multidimensionnels
    en DAX, et donc depuis PowerView
  – Seul le contraire était possible (MDX sur DAX)
  – Ce qui permettait d’utiliser Excel et tout autre client
    compatible avec les modèles tabulaires
Tableau Croisé Dynamique d’Excel
• Reporting Ad-Hoc
• sur bases Tabulaires et
  Multidimensionnelles
• Excel 2007, 2010, 2013
• Génère du MDX
Power View
• Reporting pour utilisateurs
  non techniques
• Dans Excel 2013 ou
  Sharepoint 2010/2013
• Export PowerPoint
  dynamique depuis
  Sharepoint
• Génère du DAX
Reporting Services
• Reporting de masse
• Intégration forte avec SSAS pour le MDX
  depuis la version 2005
• Possibilité de requêter en DAX avec
  support des paramètres en passant par le
  concepteur DMX
DAX for Multidimensional Models CTP

                                                         CSDL Metadata
                                      MDX / DAX Parser


                              MDX                             DAX
                            Formula                         Formula
                             Engine                          Engine




                 MOLAP Storage Engine              xVelocity Storage Engine

•   Architecture générale
DAX for Multidimensional Models CTP
• Intérêts:
  – Utilisation de PowerView (pas encore pour Excel )
  – Le DAX est plus performant sur les niveaux fins
     • Et ce peu importe le mode de storage
     • On peut donc imaginer des solutions mixtes…
CUMULER LES AVANTAGES
DES DEUX MODELES AVEC
DAXMD
Démo
•   CSDL Metadata
•   Power View
•   Comparaison de requêtes
•   Usage mixte de Reporting Services
•   Drill-through customisé avec DAX
CONCLUSION
Références
• Les bloggeurs célèbres
  – M. Russo, A. Ferrari, C. Webb, G. Brueckl, T. Lachev…
• Quelques white papers
  – “Choosing a Tabular or Multidimensional Modeling
    Experience in SQL Server 2012 Analysis Services”
• Et les livres de chevet
  – Performance / Operations Guide, Analysis Services
    Unleashed, MDX Cookbook, PowerPivot for Excel, DAX
    Formulas for PowerPivot…
Deux moteurs complémentaires
• Multidimensional pour de la grosse
  volumétrie, du reporting agrégé, des
  fonctions analytiques poussées
• Tabular pour des scénarios plus
  relationnels, et des volumétries plus
  raisonnables
Wishlist – Côté tabulaire
• La gestion complète des traductions en
  tabulaire
  – Ainsi que des conversions de devises, des actions…
• Une interprétation de SCOPE par les clients
  DAX, et la création de membres calculés
• Un mode DirectQuery utilisable
Wishlist – Côté multidimensionnel
• La sortie rapide de DaxMD
  – Avant SQL Server 12.0 ? 
• Tirer partie du DAX Formula Engine dans
  la conception du cube
  – Drill-through?
  – Certaines typologies de requêtes?
Et vous?
Donnez votre avis !
                   Depuis votre smartphone, sur :
                    http://notes.mstechdays.fr

    De nombreux lots à gagner toutes les heures !!!
               Claviers, souris et jeux Microsoft…

       Merci de nous aider à améliorer les TechDays

http://notes.mstechdays.fr

SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai

  • 1.
    SSAS 2012 : Multidimensionnel et Tabulaire au Romuald Coutaud François Jehl – banc d’essai Consultants BI Infinite Square
  • 2.
    INFINITE SQUARE STAND 44 ESPACE WINDOWS 8 & EXPÉRIENCES NUMÉRIQUES  Société de conseil, d’expertise, de réalisation et de formation exclusivement sur les technologies de développement et la plateforme applicative Microsoft.  30 collaborateurs spécialisés sur les techno MS, dont 10 MVP.  GOLD Certified Partner sur 4 domaines de compétences.  Agréé CIR.  Centre de formation agréé. Infinite Square aux TechDays 2013
  • 3.
  • 4.
    Améliorer Analysis Services Sebaser sur les forces et le Ajouter au mode succès de la plateforme, multidimensionnel un tout en lui permettant mode relationnel, plus d’atteindre une base plus connu des développeurs grande d’utilisateurs Fournir ces deux possibilités dans une seule et même Disposer d’une plateforme, permettant de plateforme pouvant servir réunir les points forts des de base à toute deux mondes. application décisionnelle.
  • 5.
    BI SEMANTIC MODEL? Outils Clients Ad-hoc, Rapports, Scorecards, Dashboards, Applications… BI Semantic Model Modèle de conception BI Personnelle BI d’Equipe BI d’Entreprise PowerPivot pour Logique métier PowerPivot pour Excel SharePoint Analysis Services Stockage des données Sources de données Bases de données, OData,Excel, CSV… 5
  • 6.
    Power Applications Reporting SharePoint View Excel PowerPivot Tierces Services Insights Support du DAX MDX DAX dans MD avec CTP Bases de données LOB Fichiers OData SQL Azure BI Semantic Model 6
  • 7.
  • 8.
    Mode tabulaire • MoteurxVelocity (ex-VertiPaq) – Technologie sous jacente de PowerPivot et du ColumnStore Index • Compression en colonnes – Un modèle tabulaire peut être vu comme un index ColumnStore couvrant • Intégralement en mémoire • Dont les relations sont explicitées par un méta- modèle
  • 9.
    Principe de lacompression en colonnes
  • 10.
    Mode multidimensionnel • MoteurMOLAP / UDM – Technologie OLAP • Stockage nativement multidimensionnel (i.e. tableau à n dimensions à accès hiérarchisé) • Gestion d’un buffer cache au niveau FE et SE • Gestion de pré-agrégations (Aggregations) – Scripting très puissant • Possibilité de redéfinir le contenu du cube de manière dynamique (SCOPE, CustomRollup…)
  • 11.
    Points forts /points faibles • Tabular  Peu de tuning possible, performance optimale dès la mise en production • Ex: DistinctCount  Rapidité au niveau fin  Moteur relativement jeune, possibilités de calculs limitées • Pas de SCOPE, pas de membres calculés  Limité à des volumétries tenant en mémoire
  • 12.
    Points forts /points faibles • Multidimensional  Performances optimales au niveau agrégé, sur des volumétries de centaines de Go • MOLAP et Agrégations  Puissance du scripting  Performances parfois calamiteuses au niveau fin  Nécessite de bonnes compétences pour un tuning parfait • Attribute Relationships… Ad Lib
  • 13.
  • 14.
    Démo • DAX, unlangage relationnel • SCOPE, où comment tout faire en multidimensionnel
  • 15.
    Lequel va leplus loin? FONCTIONNALITÉS AVANCÉES
  • 16.
    Fonctionnalités avancées • Lesdeux modèles permettent de définir des perspectives – Vue limitée des cubes par domaine métier (≠sécurité) • Mais Multidimensional garde encore une longueur d’avance…
  • 17.
    Traductions • Les traductionssont de deux types dans SSAS Multidimensionnel – Traductions structurelles (via <Translations><Caption>) – Traductions de contenu (via NameColumn localisées) • Aucune des deux n’est officiellement supportée par Tabular • Mais la XSL du XMLA est la même pour les deux modèles…
  • 18.
    Actions • Sur lemême modèle que les traductions, une part du XMLA non exploité par Tabular – Et donc non supporté là encore – XMLA bien plus complexe cette fois ci… • Mais les développeurs de BIDS Helper ont la solution!
  • 19.
  • 20.
    Démo • Création d’AttributeTranslationen XMLA • Création d’une URL Action avec BIDS Helper
  • 21.
  • 22.
    Sécurité du modèlemultidimensionnel • MD gère tous les scénarios de sécurité – Cell Security ”In the presence of cell • Peu utilisé… security a lot of optimizations are turned off!” Mosha Pasumansky-26/11/2006 – Dimension Security • En statique avec assistants graphiques • En dynamique avec UserName() ou CustomData()
  • 23.
    Sécurité du modèlemultidimensionnel • MD gère tous les scénarios de sécurité – Cell Security  – Dimension Security • En statique avec assistants graphiques • En dynamique avec UserName() ou CustomData()
  • 24.
    Sécurité du modèletabulaire : Statique • Membres – Windows User – Windows Groups • Rôles cumulatifs pour les users membres de plusieurs rôles • Permissions: – Read, Read & Process, – Process – Administrator • Expressions DAX par table
  • 25.
    Sécurité du modèletabulaire : Dynamique • Données de sécurité stockées en base • Fonction DAX USERNAME() • Fonction DAX LOOKUPVALUE() LOOKUPVALUE( <result_columnName>, <search_columnName>, <search_value> [,<search_columnName>,<search_value>]… )
  • 26.
  • 27.
  • 28.
    Déploiement • Assistant dedéploiement qui permet de scripter une base OLAP • Pas d’équivalent pour le modèle Tabulaire pour le moment dans SQL Server… …Sauf à utiliser l’utilitaire gratuit BISM Normalizer
  • 29.
    BISM Normalizer • Comparaisonde Base SSAS • Réutilisation d’objets tabulaires • Conservation des partitions existantes • Fusion de plusieurs classeurs Power Pivot vers une base tabulaire • Scripting, déploiement et rapport sur les modifications entre modèle
  • 30.
    Scripter et déployerune modification d’un modèle Tabulaire BISM NORMALIZER
  • 31.
    Cumuler les avantagesdes deux modèles… DAX FOR MULTIDIMENSIONAL MODELS
  • 32.
    DAX for MultidimensionalModels CTP • Disponible depuis novembre 2012 – Faculté d’interroger les modèles Multidimensionnels en DAX, et donc depuis PowerView – Seul le contraire était possible (MDX sur DAX) – Ce qui permettait d’utiliser Excel et tout autre client compatible avec les modèles tabulaires
  • 33.
    Tableau Croisé Dynamiqued’Excel • Reporting Ad-Hoc • sur bases Tabulaires et Multidimensionnelles • Excel 2007, 2010, 2013 • Génère du MDX
  • 34.
    Power View • Reportingpour utilisateurs non techniques • Dans Excel 2013 ou Sharepoint 2010/2013 • Export PowerPoint dynamique depuis Sharepoint • Génère du DAX
  • 35.
    Reporting Services • Reportingde masse • Intégration forte avec SSAS pour le MDX depuis la version 2005 • Possibilité de requêter en DAX avec support des paramètres en passant par le concepteur DMX
  • 36.
    DAX for MultidimensionalModels CTP CSDL Metadata MDX / DAX Parser MDX DAX Formula Formula Engine Engine MOLAP Storage Engine xVelocity Storage Engine • Architecture générale
  • 37.
    DAX for MultidimensionalModels CTP • Intérêts: – Utilisation de PowerView (pas encore pour Excel ) – Le DAX est plus performant sur les niveaux fins • Et ce peu importe le mode de storage • On peut donc imaginer des solutions mixtes…
  • 38.
    CUMULER LES AVANTAGES DESDEUX MODELES AVEC DAXMD
  • 39.
    Démo • CSDL Metadata • Power View • Comparaison de requêtes • Usage mixte de Reporting Services • Drill-through customisé avec DAX
  • 40.
  • 41.
    Références • Les bloggeurscélèbres – M. Russo, A. Ferrari, C. Webb, G. Brueckl, T. Lachev… • Quelques white papers – “Choosing a Tabular or Multidimensional Modeling Experience in SQL Server 2012 Analysis Services” • Et les livres de chevet – Performance / Operations Guide, Analysis Services Unleashed, MDX Cookbook, PowerPivot for Excel, DAX Formulas for PowerPivot…
  • 42.
    Deux moteurs complémentaires •Multidimensional pour de la grosse volumétrie, du reporting agrégé, des fonctions analytiques poussées • Tabular pour des scénarios plus relationnels, et des volumétries plus raisonnables
  • 43.
    Wishlist – Côtétabulaire • La gestion complète des traductions en tabulaire – Ainsi que des conversions de devises, des actions… • Une interprétation de SCOPE par les clients DAX, et la création de membres calculés • Un mode DirectQuery utilisable
  • 44.
    Wishlist – Côtémultidimensionnel • La sortie rapide de DaxMD – Avant SQL Server 12.0 ?  • Tirer partie du DAX Formula Engine dans la conception du cube – Drill-through? – Certaines typologies de requêtes?
  • 45.
  • 46.
    Donnez votre avis! Depuis votre smartphone, sur : http://notes.mstechdays.fr De nombreux lots à gagner toutes les heures !!! Claviers, souris et jeux Microsoft… Merci de nous aider à améliorer les TechDays http://notes.mstechdays.fr

Notes de l'éditeur

  • #2 Intro Office / B2B / LOB / entreprise
  • #47 Notation