SlideShare una empresa de Scribd logo
1 de 54
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 JOUBERT
Itecor
François JEHL
Infinite Square
 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
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
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.
Edition 2012 – 10 et 11 décembre
BI SEMANTIC MODEL?
6
BId’Equipe
PowerPivot pour
SharePoint
BIPersonnelle
PowerPivot
pour Excel
BId’Entreprise
Analysis
Services
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
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
2. PROBLEMATIQUES COMMUNES
EN MULTIDIMENSIONNEL
• Filtrage et Multisélection
• Attribute relationships et overwriting…
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
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]
)
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]
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]
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 »
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!
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
DEMO : IMPACT DES ATTRIBUTE
RELATIONSHIPS SUR LE MDX
- Relations v-shaped et comportements étranges
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
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
(…)
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
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…
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
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 son accessibilité (langage à vocation
des utilisateurs)
•Pour la facilité de création de mesures à
l’aide de fonctions simples
• Distinct Count
• Year To Date
• …
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
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)
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
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.
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
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, …
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
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
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
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
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
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
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
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
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
• 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
• …
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 …
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
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
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
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 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 ?
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
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
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 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
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
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
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
Edition 2012 – 10 et 11 décembre
Merci à nos Sponsors
Rencontrez les dans l’espace partenaires
Sponsors Platinum
Sponsors Gold
Sponsors Silver
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é

Más contenido relacionado

Destacado

Nti, ntic, ti, tic
Nti, ntic, ti, ticNti, ntic, ti, tic
Nti, ntic, ti, ticIraisOcampo
 
Dossier de production
Dossier de productionDossier de production
Dossier de productionsteph95000
 
Relato biográfico gímbler perdomo zamora
Relato biográfico gímbler perdomo zamoraRelato biográfico gímbler perdomo zamora
Relato biográfico gímbler perdomo zamoraBerly Z.
 
Evaluation question 4 (made using PIKTOCHART and presented with powerpoint)
Evaluation question 4 (made using PIKTOCHART and presented with powerpoint)Evaluation question 4 (made using PIKTOCHART and presented with powerpoint)
Evaluation question 4 (made using PIKTOCHART and presented with powerpoint)Maia Legg
 
Cambios en la accion docente ptt
Cambios en la accion docente pttCambios en la accion docente ptt
Cambios en la accion docente pttGiovani Pérez
 
Bases pedagógicas del e learning
Bases pedagógicas del e learningBases pedagógicas del e learning
Bases pedagógicas del e learningJorge Calvo
 
Zoom sur les bibliothèques et médiathèqes Vosgiennes
Zoom sur les bibliothèques et médiathèqes VosgiennesZoom sur les bibliothèques et médiathèqes Vosgiennes
Zoom sur les bibliothèques et médiathèqes Vosgiennesmaurand
 
Dossier de production final Groupe 138
Dossier de production final Groupe 138Dossier de production final Groupe 138
Dossier de production final Groupe 138sabrinawiki
 
Usos y efectos de la tecnologia
Usos y efectos de la tecnologiaUsos y efectos de la tecnologia
Usos y efectos de la tecnologiamisslili
 
Problemática yerbatera (segunda parte)
Problemática yerbatera (segunda parte)Problemática yerbatera (segunda parte)
Problemática yerbatera (segunda parte)susanabartz
 
Asignacion 5 aiza aponte
Asignacion 5 aiza aponteAsignacion 5 aiza aponte
Asignacion 5 aiza aponteAiza Hernández
 
Licienciaturas de facultad ciencias humanas
Licienciaturas de facultad ciencias humanasLicienciaturas de facultad ciencias humanas
Licienciaturas de facultad ciencias humanasgarden92
 
Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Aiza Hernández
 
Dossier de production 1
Dossier de production 1Dossier de production 1
Dossier de production 1Johanna Lry
 
Le cinéma
Le cinémaLe cinéma
Le cinémajujub8d
 
El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...vivianacerquera
 
Educación en la sociedad del conocimiento
Educación en la sociedad del conocimientoEducación en la sociedad del conocimiento
Educación en la sociedad del conocimientonilzuhu
 

Destacado (20)

Nti, ntic, ti, tic
Nti, ntic, ti, ticNti, ntic, ti, tic
Nti, ntic, ti, tic
 
Dossier de production
Dossier de productionDossier de production
Dossier de production
 
Relato biográfico gímbler perdomo zamora
Relato biográfico gímbler perdomo zamoraRelato biográfico gímbler perdomo zamora
Relato biográfico gímbler perdomo zamora
 
Evaluation question 4 (made using PIKTOCHART and presented with powerpoint)
Evaluation question 4 (made using PIKTOCHART and presented with powerpoint)Evaluation question 4 (made using PIKTOCHART and presented with powerpoint)
Evaluation question 4 (made using PIKTOCHART and presented with powerpoint)
 
Cambios en la accion docente ptt
Cambios en la accion docente pttCambios en la accion docente ptt
Cambios en la accion docente ptt
 
Bases pedagógicas del e learning
Bases pedagógicas del e learningBases pedagógicas del e learning
Bases pedagógicas del e learning
 
Zoom sur les bibliothèques et médiathèqes Vosgiennes
Zoom sur les bibliothèques et médiathèqes VosgiennesZoom sur les bibliothèques et médiathèqes Vosgiennes
Zoom sur les bibliothèques et médiathèqes Vosgiennes
 
Dossier de production final Groupe 138
Dossier de production final Groupe 138Dossier de production final Groupe 138
Dossier de production final Groupe 138
 
Santé et modes de vie
Santé et modes de vieSanté et modes de vie
Santé et modes de vie
 
Usos y efectos de la tecnologia
Usos y efectos de la tecnologiaUsos y efectos de la tecnologia
Usos y efectos de la tecnologia
 
Problemática yerbatera (segunda parte)
Problemática yerbatera (segunda parte)Problemática yerbatera (segunda parte)
Problemática yerbatera (segunda parte)
 
Asignacion 5 aiza aponte
Asignacion 5 aiza aponteAsignacion 5 aiza aponte
Asignacion 5 aiza aponte
 
Licienciaturas de facultad ciencias humanas
Licienciaturas de facultad ciencias humanasLicienciaturas de facultad ciencias humanas
Licienciaturas de facultad ciencias humanas
 
Sex and the city slideshow2
Sex and the city slideshow2Sex and the city slideshow2
Sex and the city slideshow2
 
Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)
 
Dossier de production 1
Dossier de production 1Dossier de production 1
Dossier de production 1
 
Le cinéma
Le cinémaLe cinéma
Le cinéma
 
El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...
 
Educación en la sociedad del conocimiento
Educación en la sociedad del conocimientoEducación en la sociedad del conocimiento
Educación en la sociedad del conocimiento
 
Bonjour android
Bonjour androidBonjour android
Bonjour android
 

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

xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptLeilaAmrane
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQLebiznext
 
SQL Server stockage interne
SQL Server stockage interneSQL Server stockage interne
SQL Server stockage interneDavid Barbarin
 
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésDigital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésNeo4j
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesJean-Marc Dupont
 
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeGestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeMongoDB
 
Migrez vos bases de données vers SQL Server et SQL Azure avec Microsoft SQL S...
Migrez vos bases de données vers SQL Server et SQL Azure avec Microsoft SQL S...Migrez vos bases de données vers SQL Server et SQL Azure avec Microsoft SQL S...
Migrez vos bases de données vers SQL Server et SQL Azure avec Microsoft SQL S...Microsoft Technet France
 
11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .netHamza SAID
 
Analyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL ServeurAnalyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL ServeurMicrosoft Technet France
 
S17 adressez vos besoins complexes de reporting avec db2 web query
S17   adressez vos besoins complexes de reporting avec db2 web queryS17   adressez vos besoins complexes de reporting avec db2 web query
S17 adressez vos besoins complexes de reporting avec db2 web queryGautier DUMAS
 
Deep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerDeep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerMicrosoft
 
Les bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresLes bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresEDB
 
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essaiSSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essaiMicrosoft Technet France
 
Boostez vos applications en migrant vos bases vers SQL Server 2012 !
Boostez vos applications en migrant vos bases vers SQL Server 2012 !Boostez vos applications en migrant vos bases vers SQL Server 2012 !
Boostez vos applications en migrant vos bases vers SQL Server 2012 !Microsoft Technet France
 
[Café techno] Optimiser le coût de vos données avec DB2 distribué
[Café techno] Optimiser le coût de vos données avec DB2 distribué[Café techno] Optimiser le coût de vos données avec DB2 distribué
[Café techno] Optimiser le coût de vos données avec DB2 distribuéGroupe D.FI
 
Jet Reports Pour Microsoft Dynamics NAV
Jet Reports Pour Microsoft Dynamics NAVJet Reports Pour Microsoft Dynamics NAV
Jet Reports Pour Microsoft Dynamics NAVMaroua Bouhachem
 

Similar a Journées SQL Server 2012 - DAX pour les fans de MDX (20)

xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.ppt
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQL
 
SQL Server stockage interne
SQL Server stockage interneSQL Server stockage interne
SQL Server stockage interne
 
Haute disponibilité jss2012
Haute disponibilité jss2012Haute disponibilité jss2012
Haute disponibilité jss2012
 
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautésDigital GraphTour Paris - Neo4j 4.0, les nouveautés
Digital GraphTour Paris - Neo4j 4.0, les nouveautés
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de données
 
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeGestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
 
Adopte une BDD
Adopte une BDDAdopte une BDD
Adopte une BDD
 
Migrez vos bases de données vers SQL Server et SQL Azure avec Microsoft SQL S...
Migrez vos bases de données vers SQL Server et SQL Azure avec Microsoft SQL S...Migrez vos bases de données vers SQL Server et SQL Azure avec Microsoft SQL S...
Migrez vos bases de données vers SQL Server et SQL Azure avec Microsoft SQL S...
 
11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
 
Analyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL ServeurAnalyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL Serveur
 
S17 adressez vos besoins complexes de reporting avec db2 web query
S17   adressez vos besoins complexes de reporting avec db2 web queryS17   adressez vos besoins complexes de reporting avec db2 web query
S17 adressez vos besoins complexes de reporting avec db2 web query
 
MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 
Deep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerDeep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL Server
 
Les bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresLes bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers Postgres
 
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essaiSSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
 
Boostez vos applications en migrant vos bases vers SQL Server 2012 !
Boostez vos applications en migrant vos bases vers SQL Server 2012 !Boostez vos applications en migrant vos bases vers SQL Server 2012 !
Boostez vos applications en migrant vos bases vers SQL Server 2012 !
 
Cours3 gdm sql
Cours3 gdm sqlCours3 gdm sql
Cours3 gdm sql
 
[Café techno] Optimiser le coût de vos données avec DB2 distribué
[Café techno] Optimiser le coût de vos données avec DB2 distribué[Café techno] Optimiser le coût de vos données avec DB2 distribué
[Café techno] Optimiser le coût de vos données avec DB2 distribué
 
Jet Reports Pour Microsoft Dynamics NAV
Jet Reports Pour Microsoft Dynamics NAVJet Reports Pour Microsoft Dynamics NAV
Jet Reports Pour Microsoft Dynamics NAV
 

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

  • 1. Edition 2012 – 10 et 11 décembre Rejoignez la Communauté
  • 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.  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. Edition 2012 – 10 et 11 décembre Sponsors Platinum 1. PRESENTATION D’ANALYSIS SERVICES 2012
  • 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. 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. 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. Edition 2012 – 10 et 11 décembre Sponsors Platinum 2. PROBLEMATIQUES COMMUNES EN MULTIDIMENSIONNEL • Filtrage et Multisélection • Attribute relationships et overwriting…
  • 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. 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. 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. 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. 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. 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. Edition 2012 – 10 et 11 décembre Sponsors Platinum DEMO : IMPACT DES ATTRIBUTE RELATIONSHIPS SUR LE MDX - Relations v-shaped et comportements étranges
  • 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. 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. 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. 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. 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. Edition 2012 – 10 et 11 décembre Sponsors Platinum 3. RESOUDRE CES PROBLEMES ELEGAMMENT AVEC DAX
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Edition 2012 – 10 et 11 décembre Sponsors Platinum 4. CHOISIR LE MDX POUR CERTAINES PROBLEMATIQUES
  • 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. 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. 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. 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. 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. Edition 2012 – 10 et 11 décembre Sponsors Platinum 5. ET LES PERFORMANCES DES REQUETES?
  • 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. 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. 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. Edition 2012 – 10 et 11 décembre Sponsors Platinum CONCLUSION
  • 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. 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. 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. 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. Edition 2012 – 10 et 11 décembre Merci à nos Sponsors Rencontrez les dans l’espace partenaires Sponsors Platinum Sponsors Gold Sponsors Silver
  • 53. Edition 2012 – 10 et 11 décembre Continuez l’expérience online Rejoignez la Communauté
  • 54. Edition 2012 – 10 et 11 décembre Rejoignez la Communauté

Notas del editor

  1. Blah-blah contexte
  2. Je crée un membre calculé, il se réfère automatiquement aux données de la ligne sur laquelle je me trouve
  3. C’est un contexte que vous utilisez naturellement sans y penser quand vous générez un tableau croisé dynamique
  4. 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.
  5. 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.
  6. 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)
  7. Correspondent exactement à calculate (Expression, DATESMTD(Dates), (Filter) )
  8. Calcule la valeur de l’expression à la première date du mois (=dernière date du mois précédent) dans le contexte actuel.
  9. 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.