Edition 2012 – 10 et 11 décembre
Rejoignez la Communauté
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
DAX POUR LES FANS DE MDX
LE TABULAIRE C’EST PAS AUTOMATIQUE
David JOUBE...
 Société de conseil, expertise, réalisation, et
formation, exclusivement sur les
technologies Microsoft de développement
...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
1. PRESENTATION D’ANALYSIS
SERVICES 2012
Edition 2012 – 10 et 11 décembre
AMELIORER ANALYSIS SERVICES
Se baser sur les forces et le
succès de la plateforme, tout
e...
Edition 2012 – 10 et 11 décembre
BI SEMANTIC MODEL?
6
BId’Equipe
PowerPivot pour
SharePoint
BIPersonnelle
PowerPivot
pour ...
Edition 2012 – 10 et 11 décembre
7
DAX MDX
Applications
Tierces
Reporting
Services
Excel PowerPivot
SharePoint
Insights
Po...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
2. PROBLEMATIQUES COMMUNES
EN MULTIDIMENSIONNEL
• Filtrage et Multiséle...
Edition 2012 – 10 et 11 décembre
QUELS SONT-ILS?
•On peut en citer deux emblématiques
• La méconnaissance des attribute re...
Edition 2012 – 10 et 11 décembre
RELATIONS D’ATTRIBUTS
•Soit la relation
• Couleur est lié à Produit (related attribute)
•...
Edition 2012 – 10 et 11 décembre
RÈGLES D’OVERWRITING
•La sélection d’une couleur remet les
produits à (All)
•Toute action...
Edition 2012 – 10 et 11 décembre
RÈGLES D’OVERWRITING
•En revanche la sélection d’un produit impacte
directement la couleu...
Edition 2012 – 10 et 11 décembre
ATTRIBUTE RELATIONSHIPS
Région Pays Continent
• La chaîne d’attributs est linéaire
• L’ap...
Edition 2012 – 10 et 11 décembre
ATTRIBUTE RELATIONSHIPS
Date Mois
Trimestre Année
Mois de
l’année
• Si en revanche on com...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
DEMO : IMPACT DES ATTRIBUTE
RELATIONSHIPS SUR LE MDX
- Relations v-shap...
Edition 2012 – 10 et 11 décembre
FILTRAGES ET MULTISÉLECTION
•Le MDX permet deux moyens de faire de la
sélection
• Via une...
Edition 2012 – 10 et 11 décembre
FILTRAGE AVEC SLICER
•Met à jour le contexte de requête avec les
coordonnées courantes (d...
Edition 2012 – 10 et 11 décembre
FILTRAGE AVEC DES SUBQUERIES
•Appliquent un Exists() sur les axes de la
requête suivi de ...
Edition 2012 – 10 et 11 décembre
ET LA MULTISELECTION?
•Elle pose traditionnellement des
problèmes…
• CurrentMember inopér...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
DEMO : FILTRAGE ET MULTISELECT
- Adaptation des calculs pour gérer le m...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
3. RESOUDRE CES PROBLEMES
ELEGAMMENT AVEC DAX
Edition 2012 – 10 et 11 décembre
POURQUOI APPRENDRE LE DAX
•Parce que c’est le langage de conception
dans PowerPivot
•Pour...
Edition 2012 – 10 et 11 décembre
CONTEXTE EN DAX
Le contexte vous permet d'effectuer une analyse
dynamique dans laquelle l...
Edition 2012 – 10 et 11 décembre
CONTEXTE DE LIGNE
C’est le contexte qui paraît le plus intuitif : il inclut
toutes les va...
Edition 2012 – 10 et 11 décembre
CONTEXTE DE REQUÊTE
Il correspond au sous-ensemble de données qui est
récupéré dans une f...
Edition 2012 – 10 et 11 décembre
CONTEXTE DE FILTRE
Il correspond à la possibilité de spécifier des contraintes sur
l’ense...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
DEMO : CONTEXTE EN DAX
- Focus sur contexte de lignes multiples avec la...
Edition 2012 – 10 et 11 décembre
TIME INTELLIGENCE EN DAX
DAX a introduit 35 fonctions d’analyse temporelle
intégrées
• Fo...
Edition 2012 – 10 et 11 décembre
TIME INTELLIGENCE EN DAX
Fonctions renvoyant une seule date
• FIRSTDATE
• LASTDATE
• FIRS...
Edition 2012 – 10 et 11 décembre
TIME INTELLIGENCE EN DAX
Fonctions renvoyant une seule date
• STARTOFMONTH
• STARTOFQUART...
Edition 2012 – 10 et 11 décembre
TIME INTELLIGENCE EN DAX
Fonctions renvoyant une table de dates
• PREVIOUSDAY
• PREVIOUSM...
Edition 2012 – 10 et 11 décembre
TIME INTELLIGENCE EN DAX
Fonctions renvoyant une table de dates
• DATESMTD
• DATESQTD
• D...
Edition 2012 – 10 et 11 décembre
TIME INTELLIGENCE EN DAX
Fonctions renvoyant une table de dates
• DATEADD
• DATESBETWEEN
...
Edition 2012 – 10 et 11 décembre
TIME INTELLIGENCE EN DAX
Fonctions évaluant une expression
Sur une période temporelle
• T...
Edition 2012 – 10 et 11 décembre
TIME INTELLIGENCE EN DAX
Fonctions évaluant une expression
Sur une période temporelle
• O...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
DEMO : TIME INTELLIGENCE EN DAX
- Exemple simple d’utilisation des fonc...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
4. CHOISIR LE MDX POUR
CERTAINES PROBLEMATIQUES
Edition 2012 – 10 et 11 décembre
POURQUOI ENCORE FAIRE DU MDX
•Parce que le Script MDX est puissant
• SCOPE Assignments
• ...
Edition 2012 – 10 et 11 décembre
FONCTIONNALITÉS AVANCÉES
•La séparation des KeyColumns et
NameColumn est parfois embêtant...
Edition 2012 – 10 et 11 décembre
HIERARCHIES
•Le concept de hiérarchie dans Tabular est
purement cosmétique
• Comme une us...
Edition 2012 – 10 et 11 décembre
SCRIPT MDX
•Tabular permet seulement deux types
d’éléments calculés
• Colonnes calculées ...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
DEMO : POINTS FORTS DE L’OLAP
- Conversion de devises N-N
- Calculs hié...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
5. ET LES PERFORMANCES DES
REQUETES?
Edition 2012 – 10 et 11 décembre
COMPARAISON PERFORMANCE DES REQUÊTES
Problématique Métier connue :
• Mon client veut un c...
Edition 2012 – 10 et 11 décembre
COMPARAISON PERFORMANCE DES REQUÊTES
SSAS Mode Tabulaire
• Langage de conception :
DAX
• ...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
DEMO : COMPARAISON
PERFORMANCE DES REQUÊTES
Rapport SSRS de listing
Hyp...
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
CONCLUSION
Edition 2012 – 10 et 11 décembre
CHOISIR LE TYPE DE PROJET
•Cela dépend des choix faits pour chaque
couche
• Modèle de con...
Edition 2012 – 10 et 11 décembre
CHOISIR LE TYPE DE PROJET
4
• Difficile à appréhender
• Les modélisations avancées
(paren...
Edition 2012 – 10 et 11 décembre
CHOISIR LE TYPE DE PROJET
5
• Nécessite la compréhension
des concepts
multidimensionnels....
Edition 2012 – 10 et 11 décembre
CHOISIR LE TYPE DE PROJET
• In-Memory
• Stockage en mémoire qui
compresse classiquement 1...
Edition 2012 – 10 et 11 décembre
Merci à nos Sponsors
Rencontrez les dans l’espace partenaires
Sponsors Platinum
Sponsors ...
Edition 2012 – 10 et 11 décembre
Continuez l’expérience online
Rejoignez la Communauté
Edition 2012 – 10 et 11 décembre
Rejoignez la Communauté
Prochain SlideShare
Chargement dans…5
×

Journées SQL Server 2012 - DAX pour les fans de MDX

474 vues

Publié le

Session délivrée aux Journées SQL Server 2012

Publié dans : Données & analyses
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
474
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
34
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Blah-blah contexte

  • Je crée un membre calculé, il se réfère automatiquement aux données de la ligne sur laquelle je me trouve
  • C’est un contexte que vous utilisez naturellement sans y penser quand vous générez un tableau croisé dynamique
  • En effet ces fonctions s’exécutent dans le contexte de lignes où elles se trouvent, du coup, la première date d’une date est la date elle-même
    Les NONBLANK correspondent au non empty bien connu en BI, notamment pour le calcul des stocks.
  • Pour aller chercher les valeurs à date des périodes précédentes et suivantes.
    S’exécute en contexte de lignes. Sympa de constater que par exemple previousday fonctionne au mois ou au trimestre.
    Attention si différent de jour, ça renvoie des tables de valeurs.
  • Pour aller chercher les valeurs Month to Date (ou quarter ou year).
    S’exécute en contexte de lignes.
    Renvoie des tables de dates
    SAMEPERIODLASTYEAR utile pour comparer d’une année à l’autre dans le retail = DATEADD(dates,-1, YEAR)
  • Correspondent exactement à calculate (Expression, DATESMTD(Dates), (Filter) )
  • Calcule la valeur de l’expression à la première date du mois (=dernière date du mois précédent) dans le contexte actuel.
  • Le client veut un cube SSAS, pq il en a entendu parler (=marketing), pq c’est plus facile à attaquer dans Excel.
    On lui a toujours dit qu’un cube, c’était pas pour interroger des niveaux fins.
  • Journées SQL Server 2012 - DAX pour les fans de MDX

    1. 1. Edition 2012 – 10 et 11 décembre Rejoignez la Communauté
    2. 2. Edition 2012 – 10 et 11 décembre Sponsors Platinum DAX POUR LES FANS DE MDX LE TABULAIRE C’EST PAS AUTOMATIQUE David JOUBERT Itecor François JEHL Infinite Square
    3. 3.  Société de conseil, expertise, réalisation, et formation, exclusivement sur les technologies Microsoft de développement d’applications et de la plateforme applicative  25+ 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éé • Fondé en 1992 • 130 employés • 25 nationalités • 5 bureaux en Europe: Vevey, Genève, Zürich, Paris, Prague Nos Partenaires • 4 Practices • Architecture & Développement • Testing • Project Management • IT Organisation
    4. 4. Edition 2012 – 10 et 11 décembre Sponsors Platinum 1. PRESENTATION D’ANALYSIS SERVICES 2012
    5. 5. Edition 2012 – 10 et 11 décembre AMELIORER ANALYSIS SERVICES Se baser sur les forces et le succès de la plateforme, tout en lui permettant d’atteindre une base plus grande d’utilisateurs Ajouter au mode multidimensionnel un mode relationnel, plus connu des développeurs Fournir ces deux possibilités dans une seule et même plateforme, permettant de réunir les points forts des deux mondes. Disposer d’une plateforme pouvant servir de base à toute application décisionnelle.
    6. 6. Edition 2012 – 10 et 11 décembre BI SEMANTIC MODEL? 6 BId’Equipe PowerPivot pour SharePoint BIPersonnelle PowerPivot pour Excel BId’Entreprise Analysis Services
    7. 7. Edition 2012 – 10 et 11 décembre 7 DAX MDX Applications Tierces Reporting Services Excel PowerPivot SharePoint Insights Power View LOB Fichiers OData SQL Azure Bases de données BI Semantic Model Support du DAX dans MD avec CTP
    8. 8. Edition 2012 – 10 et 11 décembre Sponsors Platinum 2. PROBLEMATIQUES COMMUNES EN MULTIDIMENSIONNEL • Filtrage et Multisélection • Attribute relationships et overwriting…
    9. 9. Edition 2012 – 10 et 11 décembre QUELS SONT-ILS? •On peut en citer deux emblématiques • La méconnaissance des attribute relationships et de leur impact sur la résolution des requêtes • L’hétérogénéité des modes de filtrage et leur gestion dans les membres calculés
    10. 10. Edition 2012 – 10 et 11 décembre RELATIONS D’ATTRIBUTS •Soit la relation • Couleur est lié à Produit (related attribute) •Lorsqu’une expression MDX est évaluée, la sélection d’un membre sur un attribut modifie les attributs liés • On appelle cela de l’attribute overwriting Produit Couleur WITH MEMBER [Measures].[Red Products Net Income] AS ( [Measures].[Net Income], [Product].[Color].&[Red] )
    11. 11. Edition 2012 – 10 et 11 décembre RÈGLES D’OVERWRITING •La sélection d’une couleur remet les produits à (All) •Toute action sur un attribut parent remet à (All) la sélection des enfants • On dit que les attributs enfants sont implicitement surchargés à All Sélection explicite de produit Impact [Couleur].[All] [Couleur].[All] [Produit].[All] [Couleur].[Rouge] [Couleur].[All] [Produit].[All] <Toute sélection> [Couleur].[Rouge] [Produit].[All]
    12. 12. Edition 2012 – 10 et 11 décembre RÈGLES D’OVERWRITING •En revanche la sélection d’un produit impacte directement la couleur •On dit que les attributs enfants sont implicitement surchargés à une valeur dépendant de la sélection des parents Sélection explicite de couleur Impact sur le produit [Produit].[All] [Produit].[All] La sélection reste identique [Produit].[Vélo Rouge] [Produit].[All] [Couleur].[All] <Toute sélection> [Produit].[Vélo Rouge] Exists ( [Couleur].Members, [Produit].[Vélo Rouge] ) i.e. [Couleur].[Rouge]
    13. 13. Edition 2012 – 10 et 11 décembre ATTRIBUTE RELATIONSHIPS Région Pays Continent • La chaîne d’attributs est linéaire • L’application des règles précédentes est complètement intuitive • Si je sélectionne « USA », Région est à (All) et Continent à « Amérique du Nord »
    14. 14. Edition 2012 – 10 et 11 décembre ATTRIBUTE RELATIONSHIPS Date Mois Trimestre Année Mois de l’année • Si en revanche on complexifie un peu… • On peut obtenir une « v-shaped » relationship • Dont le comportement obéit aux règles dictées précédemment seulement pour les attributs directement reliés à la sélection!
    15. 15. Edition 2012 – 10 et 11 décembre Sponsors Platinum DEMO : IMPACT DES ATTRIBUTE RELATIONSHIPS SUR LE MDX - Relations v-shaped et comportements étranges
    16. 16. Edition 2012 – 10 et 11 décembre FILTRAGES ET MULTISÉLECTION •Le MDX permet deux moyens de faire de la sélection • Via une sous-requête • Via la clause WHERE que l’on appelle aussi slicer •Il est important de comprendre la différence fondamentale entre ces deux moyens
    17. 17. Edition 2012 – 10 et 11 décembre FILTRAGE AVEC SLICER •Met à jour le contexte de requête avec les coordonnées courantes (détectable par Existing sur les SETS) •Support nativement uniquement des tuples • Pas de sets • Emulation historique de la multisélection à travers des membres calculés (Proclarity, Excel 2003) WITH MEMBER [Filter] AS Aggregate (…)
    18. 18. Edition 2012 – 10 et 11 décembre FILTRAGE AVEC DES SUBQUERIES •Appliquent un Exists() sur les axes de la requête suivi de VisualTotals() • On requête vraiment un sous-cube •Mais aucune mise à jour du contexte de requête • Existing inopérant sur les données filtrées dans la sous- requête) • En revanche l’autoexists des jeux nommés permet de les détecter
    19. 19. Edition 2012 – 10 et 11 décembre ET LA MULTISELECTION? •Elle pose traditionnellement des problèmes… • CurrentMember inopérant •La détection du contexte de cellule est très complexe et dépend des modes de filtrage…
    20. 20. Edition 2012 – 10 et 11 décembre Sponsors Platinum DEMO : FILTRAGE ET MULTISELECT - Adaptation des calculs pour gérer le multiselect - Détection du contexte de cellule selon le filtrage
    21. 21. Edition 2012 – 10 et 11 décembre Sponsors Platinum 3. RESOUDRE CES PROBLEMES ELEGAMMENT AVEC DAX
    22. 22. Edition 2012 – 10 et 11 décembre POURQUOI APPRENDRE LE DAX •Parce que c’est le langage de conception dans PowerPivot •Pour son accessibilité (langage à vocation des utilisateurs) •Pour la facilité de création de mesures à l’aide de fonctions simples • Distinct Count • Year To Date • …
    23. 23. Edition 2012 – 10 et 11 décembre CONTEXTE EN DAX Le contexte vous permet d'effectuer une analyse dynamique dans laquelle les résultats d'une formule peuvent changer pour refléter la sélection de ligne ou de cellule actuelle, ainsi que toutes les données associées Les contextes sont primordiaux pour : • Créer des analyses dynamiques performantes • Résoudre les problèmes dans les formules Il en existe de 3 formes : ligne, requête, filtre
    24. 24. Edition 2012 – 10 et 11 décembre CONTEXTE DE LIGNE C’est le contexte qui paraît le plus intuitif : il inclut toutes les valeurs des colonnes dans la ligne actuelle d’une table (plus les valeurs des tables reliées)
    25. 25. Edition 2012 – 10 et 11 décembre CONTEXTE DE REQUÊTE Il correspond au sous-ensemble de données qui est récupéré dans une formule. Lorsqu'on crée un tableau croisé dynamique, les entêtes de lignes et les entêtes de colonnes agissent sur notre mesure. L’ensemble de ces intersections constitue le contexte de requête. Ici le contexte de requête de la cellule surligné est : North America, 2007 et Bikes
    26. 26. Edition 2012 – 10 et 11 décembre CONTEXTE DE FILTRE Il correspond à la possibilité de spécifier des contraintes sur l’ensemble des valeurs autorisées dans une colonne ou une table à travers une formule. Il prédomine les contextes de ligne et de requête. Ici la fonction « ALL » contourne le contexte de ligne et spécifie un contexte de filtre comprenant toutes les lignes de la table de faits.
    27. 27. Edition 2012 – 10 et 11 décembre Sponsors Platinum DEMO : CONTEXTE EN DAX - Focus sur contexte de lignes multiples avec la fonction EARLIER - Focus sur contexte de filtre avec les fonctions FILTER, ALL et ALLEXCEPT
    28. 28. Edition 2012 – 10 et 11 décembre TIME INTELLIGENCE EN DAX DAX a introduit 35 fonctions d’analyse temporelle intégrées • Fonctions qui renvoie une date simple Ex : FIRSTDATE, LASTDATE, STARTOFMONTH, ENDOFQUARTER, … • Fonctions qui retournent une table de dates Ex : PREVIOUSDAY, DATESMTD, PARALLELPERIOD, … • Fonctions qui évaluent une expression sur une période Ex : TOTALYTD, OPENINGBALANCEYEAR, …
    29. 29. Edition 2012 – 10 et 11 décembre TIME INTELLIGENCE EN DAX Fonctions renvoyant une seule date • FIRSTDATE • LASTDATE • FIRSTNONBLANK • LASTNONBLANK Axé sur une utilisation dans des mesures calculées Exemple
    30. 30. Edition 2012 – 10 et 11 décembre TIME INTELLIGENCE EN DAX Fonctions renvoyant une seule date • STARTOFMONTH • STARTOFQUARTER • STARTOFYEAR • Et leurs équivalents ENDOF… Peuvent être utilisées dans des mesures, mais ont également un sens en attribut. Exemple
    31. 31. Edition 2012 – 10 et 11 décembre TIME INTELLIGENCE EN DAX Fonctions renvoyant une table de dates • PREVIOUSDAY • PREVIOUSMONTH • PREVIOUSQUARTER • PREVIOUSYEAR • Et leurs équivalents en NEXT Plutôt à destination de mesures calculées Exemple
    32. 32. Edition 2012 – 10 et 11 décembre TIME INTELLIGENCE EN DAX Fonctions renvoyant une table de dates • DATESMTD • DATESQTD • DATESYTD • SAMEPERIODLASTYEAR Plutôt à destination de mesures calculées Exemple
    33. 33. Edition 2012 – 10 et 11 décembre TIME INTELLIGENCE EN DAX Fonctions renvoyant une table de dates • DATEADD • DATESBETWEEN • DATESINPERIOD • PARALLELPERIOD Fonctions permettant de faire des calculs sur les dates Exemple
    34. 34. Edition 2012 – 10 et 11 décembre TIME INTELLIGENCE EN DAX Fonctions évaluant une expression Sur une période temporelle • TOTALMTD • TOTALQTD • TOTALYTD Ces fonctions s’utilisent directement avec des mesures Exemple
    35. 35. Edition 2012 – 10 et 11 décembre TIME INTELLIGENCE EN DAX Fonctions évaluant une expression Sur une période temporelle • OPENINGBALANCEMONTH • OPENINGBALANCEQUARTER • OPENINGBALANCEYEAR • Et leurs équivalents en CLOSING Ces fonctions s’utilisent directement avec des mesures Exemple
    36. 36. Edition 2012 – 10 et 11 décembre Sponsors Platinum DEMO : TIME INTELLIGENCE EN DAX - Exemple simple d’utilisation des fonctions temporelles - Création d’un STARTOFWEEK - Exemple de création d’une dimension Période
    37. 37. Edition 2012 – 10 et 11 décembre Sponsors Platinum 4. CHOISIR LE MDX POUR CERTAINES PROBLEMATIQUES
    38. 38. Edition 2012 – 10 et 11 décembre POURQUOI ENCORE FAIRE DU MDX •Parce que le Script MDX est puissant • SCOPE Assignments • Membres calculés sur les dimensions •Parce que les hiérarchies servent de support à des calculs usuels •Parce que l’on gère en natif des scénarios courants • Traduction • Conversion de devises • …
    39. 39. Edition 2012 – 10 et 11 décembre FONCTIONNALITÉS AVANCÉES •La séparation des KeyColumns et NameColumn est parfois embêtante… • Mais elle permet la traduction transparente des cubes •La conversion de devise est gérée dans élégamment avec des Many To Many et des Measure Expressions Duplicate attribute key found in …
    40. 40. Edition 2012 – 10 et 11 décembre HIERARCHIES •Le concept de hiérarchie dans Tabular est purement cosmétique • Comme une user hierarchy sans attribute relationships •Des concepts comme les parents, enfants, frères, cousins, sont difficilement exploitables en DAX • Et pourtant tellement utiles… • Ratio To Parent
    41. 41. Edition 2012 – 10 et 11 décembre SCRIPT MDX •Tabular permet seulement deux types d’éléments calculés • Colonnes calculées (MeasureExpression en plus puissant) • Mesures calculées •Multidimensional permet de créer des membres calculés sur tous les axes •Mais aussi de réaffecter tout sous-cube de manière ultra-performante grâce aux SCOPEs. • Ex: Pattern « Date Tool » de Marco Russo pour le contrôle de gestion
    42. 42. Edition 2012 – 10 et 11 décembre Sponsors Platinum DEMO : POINTS FORTS DE L’OLAP - Conversion de devises N-N - Calculs hiérarchiques - SCOPE Assignments
    43. 43. Edition 2012 – 10 et 11 décembre Sponsors Platinum 5. ET LES PERFORMANCES DES REQUETES?
    44. 44. Edition 2012 – 10 et 11 décembre COMPARAISON PERFORMANCE DES REQUÊTES Problématique Métier connue : • Mon client veut un cube SSAS, mais il ne travaille qu’à des niveaux fins sur les dimensions • Un cube SSAS en mode multidimensionnel est surtout efficace à des niveaux agrégés • Qu’en est-il du mode tabulaire ?
    45. 45. Edition 2012 – 10 et 11 décembre COMPARAISON PERFORMANCE DES REQUÊTES SSAS Mode Tabulaire • Langage de conception : DAX • Langage d’interrogation : MDX • Possibilité d’utiliser le DAX pour interroger le cube SSAS Mode Multidimensionnel • Langage de conception : MDX • Langage d’interrogation : MDX
    46. 46. Edition 2012 – 10 et 11 décembre Sponsors Platinum DEMO : COMPARAISON PERFORMANCE DES REQUÊTES Rapport SSRS de listing Hypothèses de départ : - 3 dimensions de 1000 membres (clients, produits, et magasins) - 1 table de fait d’un million de lignes Hypothèse d’arrivée : - 1 rapport SSRS qui liste les ventes globales
    47. 47. Edition 2012 – 10 et 11 décembre Sponsors Platinum CONCLUSION
    48. 48. Edition 2012 – 10 et 11 décembre CHOISIR LE TYPE DE PROJET •Cela dépend des choix faits pour chaque couche • Modèle de conception : Multidim ou tabulaire • Logique métier : DAX ou MDX • Stockage des données : InMemory, DirectQuery, ROLAP, MOLAP •En prenant en compte • Les fonctionnalités fournies par les différents types de projets • Les performances • Les compétences des développeurs • Le temps nécessaire pour finaliser le projet 4
    49. 49. Edition 2012 – 10 et 11 décembre CHOISIR LE TYPE DE PROJET 4 • Difficile à appréhender • Les modélisations avancées (parent-child, many-to-many, relations d’attributs, KeyColumn/ NameColumn, etc.) sont supportées nativement. • Idéal pour des solutions OLAP (ex: planning, budgeting, forecasting) qui ont besoin de concepts multidimensionnels. • Modèle plus familier pour démarrer • Les fonctionnalités de modélisation plus avancées nécessitent d’être émulées • Facile à générer depuis un modèle en étoile Tabulaire Multidimensionnel
    50. 50. Edition 2012 – 10 et 11 décembre CHOISIR LE TYPE DE PROJET 5 • Nécessite la compréhension des concepts multidimensionnels. Plus complexe à prendre en main. • Les solutions avancées sont encore plus complexes. • Idéal pour des solutions purement OLAP, mettant en jeu des calculs complexes (SCOPE, jeux nommés, assignments, membres calculés…) • Basé sur des formules Excel. Relativement simple à appréhender. • L’appréhension des concepts de contexte de ligne, de filtre, de CALCULATE prend plus de temps. • Colonnes calculées, mais il n’existe pas d’équivalents strict aux membres calculés ou aux jeux nommés. DAX MDX
    51. 51. Edition 2012 – 10 et 11 décembre CHOISIR LE TYPE DE PROJET • In-Memory • Stockage en mémoire qui compresse classiquement 10x les données • Excellentes performances par défaut sans besoin de tuning • Volume de données limité par la mémoire du serveur • DirectQuery • Les requêtes DAX sont transcrites en SQL • Ne supporte que SQL Server • MOLAP • Stockage sur disque avec une compression 3x • Du tuning est requis pour gérer la montée en cache et les agrégations • Le support du paging permet de gérer jusqu’à plusieurs TB • ROLAP • Les requêtes MDX sont transcrites en SQL • Support de la plupart des bases de données relationnelles accessibles en OLE DB 5
    52. 52. Edition 2012 – 10 et 11 décembre Merci à nos Sponsors Rencontrez les dans l’espace partenaires Sponsors Platinum Sponsors Gold Sponsors Silver
    53. 53. Edition 2012 – 10 et 11 décembre Continuez l’expérience online Rejoignez la Communauté
    54. 54. Edition 2012 – 10 et 11 décembre Rejoignez la Communauté

    ×