SlideShare une entreprise Scribd logo
1  sur  41
DAX For Dummies

                         Pascal Rouzé & Julien Vidal
                           Consultants décisionnels
                                           MCNEXT
                                        www.mcnext.com




Office / B2B / LOB / Entreprise
PRÉSENTATION

DAX For Dummies
100 %
           180 collaborateurs
      Depuis 2007 à Paris - Lyon - Genève


                  Dot Share
                  NET Point
             Business
             Intelligence
                              Biz
             Microsoft       Talk           Stand 97 – Zone bleu
                                                          foncé

DAX For Dummies
DAX

     • Le DAX (Data Analysis eXpression) est le langage utilisé
       par :
         PowerPivot
         le modèle tabulaire dans Analysis Services
         Power View

     • Il est utilisé pour créer des mesures et colonnes calculées
       et pour interroger des modèles tabulaires.
DAX For Dummies
Colonnes et mesures calculées


                                     Colonne calculée




                                          Mesure calculée
DAX For Dummies
BISM (BI Semantic Model)
          Third-party                                                            Reporting                    SharePoint
                                    Excel                   PowerPivot
          applications                                                            Services                    Power View



                                                                                                                       Support des
                         MDX
                                                                                                                      modèles MD
                                                    MDX                DAX/MDX                  DAX
                                                                                                                     prochainement

                                                                         Multi-
                                      Data Model                      dimensional
                                                                                               Tabular


                               Business logic and queries                MDX                        DAX

                                                                               MOLA                       Direct
                                      Data Access                ROLAP                   VertiPaq
                                                                                P                         Query




          Databases            LOB Applications               Files            OData Feeds                 Cloud Services

DAX For Dummies
Prérequis pour utiliser PowerPivot

     •   Système d’exploitation 32 ou 64 bits
     •   1 GB de RAM, 2 GB recommandés
     •   Windows XP SP3, Vista SP1, Windows 7 & 8
     •   .NET Framework 3.5 SP1
     •   Microsoft Office 2010, 2013




DAX For Dummies
Type de données
     Type             Description
     Whole Number     Valeur entière
     Decimal Number   Nombre réel
     Currency         Devise
     TRUE/FALSE       Booléen
     Text             Chaîne de caractères
     Date             Date/Heure commençant en 1900
     Binary           Donnée binaire importée depuis une source de données (une image
                      par exemple)


DAX For Dummies
Fonctions DAX
     •    Plus de 170 fonctions avec SQL Server 2012


         Fonctions d’information   ISBLANK(…), ISERROR(…), etc.
         Fonctions de date         MONTH(…), DATESYTD(…), PARALLELPERIOD(…), etc.
         Fonctions de chaîne       TRIM(…), CONCATENATE(…), FORMAT(…), etc.
         Fonctions statistiques    SUM(…), SUMX(…), COUNTROWS(…), MIN(…), etc.
         Fonction de filtres       ALL(…), FILTER(…), etc.
         Fonctions logiques        IF(…), SWITCH(…), AND, OR, etc.
         Fonctions mathématiques   ABS(…), EXP(…), LOG(…), etc.




DAX For Dummies
CAS D’UTILISATION

DAX For Dummies
Démonstration

                  Scénario 1 : Table Période




DAX For Dummies
Scénario 1 : Table Période

     • Les utilisateurs veulent pouvoir effectuer rapidement des
       comparaisons à partir de n’importe quelle date (par
       rapport à l’année dernière, Year-To-Date, etc.). Pour cela,
       on va créer une dimension « Période » spécifique.




DAX For Dummies
Scénario 1 : Table Période

     • Solution proposée adaptée
         PowerPivot
         DAX




DAX For Dummies
Scénario 1 : Table Période
     • Le modèle dans PowerPivot
                        Dimensions      Dimension




      Mesure calculée

      Colonne

      Hiérarchie
                                     Fait


DAX For Dummies
Scénario 1 : Table Période


                  DEMO




DAX For Dummies
Scénario 1 : Table Période
     • Mesures DAX
          Mesures intermédiaires :
         –   [YTD Montant des commandes]:=TOTALYTD([Montant des commandes]; 'Date
             Commande'[Date])
         –   [Montant des commandes A-1]:=CALCULATE([Montant des commandes];
             SAMEPERIODLASTYEAR('Date Commande'[Date])) …


          Mesure finale :
         –   [Commandes]:=IF( HASONEVALUE('Période'[Période]);
                                   SWITCH(VALUES('Période'[Période]);
                                   "Courant"; [Montant des commandes];
                                   "YTD"; [YTD Montant des commandes];
                                   "Courant A-1"; [Montant des commandes A-1]; …
                                   BLANK() );
                              BLANK() )


DAX For Dummies
Démonstration

                  Scénario 2 : Assurance




DAX For Dummies
Scénario 2 : Assurance

     • Le service actuariat désire connaître le dernier montant
       des rentes versées à chaque bénéficiaire à une date
       spécifique.




DAX For Dummies
Scénario 2 : Assurance

     • Solution proposée adaptée
         PowerPivot
         DAX




DAX For Dummies
Scénario 2 : Assurance
     • Le modèle de données dans Powerpivot

                                 Dimension


       Mesure calculée

       Colonne                         Dimension



                   Fait



DAX For Dummies
Scénario 2 : Assurance


                  DEMO




DAX For Dummies
Scénario 2 : Assurance
     • Mesures DAX
          Mesures intermédiaires :
         – [TotalRente]:=SUM('FaitRente'[MontantRente])


          Mesure finale :
         – [DerniereRente]=CALCULATE([TotalRente];
                     LASTNONBLANK('Date'[PK_Date];[TotalRente]))
         – [DateDerniereRente]=LASTNONBLANK('FaitRente'[DateRenteValeur];
                     [TotalRente])




DAX For Dummies
Démonstration

                  Scénario 3 : Grande distribution




DAX For Dummies
Scénario 3 : Grande distribution

     • Le directeur financier d’une société de grande distribution
       veut pouvoir déterminer la moyenne du nombre d’articles
       vendus par magasin depuis le début du mois.




DAX For Dummies
Scénario 3 : Grande distribution

     • Solution proposée adaptée
         PowerPivot
         DAX




DAX For Dummies
Scénario 3 : Grande distribution
     • Le modèle dans PowerPivot


                                             Fait



          Mesure calculée
                            Dimensions   Dimension
          Colonne

          Hiérarchie




DAX For Dummies
Scénario 3 : Grande distribution


                  DEMO




DAX For Dummies
Scénario 3 : Grande distribution
     • Mesures DAX
          Mesures intermédiaires :
         – [Qte MTD]:=TOTALMTD(SUMX(Vente; Vente[Quantite]); 'Date Vente'[Date])
         – [Nb Magasins]:=CALCULATE(COUNTROWS(DISTINCT(Magasin[Code Magasin]));
           Magasin[Code Magasin] <> ""; FILTER(Vente; [Qte MTD] > 0))


          Mesure finale :
         –   [Moyenne Par Magasin]:=IF(ISBLANK([Nb Magasins]); BLANK(); [Qte MTD] / [Nb
             Magasins])




DAX For Dummies
Démonstration

                  Scénario 4 : Assurance




DAX For Dummies
Scénario 4 : Assurance

     • Le service de la gestion souhaite suivre le montant des
       cotisations reçues :
         Évolution annuelle
         Répartition par institution




DAX For Dummies
Scénario 4 : Assurance

     • Solution proposée adaptée
         SSAS en mode tabulaire
         DAX
         Rapport SQL Server Reporting Services




DAX For Dummies
Scénario 4 : Assurance
     • Le modèle de données dans SSAS en mode tabulaire
      Dimension
                                            Dimension




                            Fait


DAX For Dummies
Scénario 4 : Assurance


                  DEMO




DAX For Dummies
Requête en DAX (1/2)
     DEFINE – Définition des mesures calculées

     MEASURE 'FaitCotisation'[TotalCotisation] = SUM('FaitCotisation'[MontantCotisation])

     MEASURE 'FaitCotisation'[TotalCotisationPrevYear] =
                    CALCULATE('FaitCotisation'[TotalCotisation],PREVIOUSYEAR('Date'[PK_Date]))

     MEASURE 'InstitutionPrevoyance'[RangIpN] = IF(ISBLANK('FaitCotisation'[TotalCotisation]),BLANK(),
                    RANKX(ALL('InstitutionPrevoyance'[InstitutionPrevoyance]),'FaitCotisation'[TotalCotisation]))

     MEASURE 'InstitutionPrevoyance'[RangIpN-1] = IF(ISBLANK('FaitCotisation'[TotalCotisationPrevYear]),BLANK(),
                    CALCULATE([RangIpN],PREVIOUSYEAR('Date'[PK_Date])))

     MEASURE 'InstitutionPrevoyance'[CategorieClassementIP] =
                    IF('InstitutionPrevoyance'[RangIpN]<6,"Sous-Total Top 5",IF('InstitutionPrevoyance'[RangIpN]<11,"Sous-
                    Total Top 10","Autres IP"))

     MEASURE 'InstitutionPrevoyance'[PourcentageTotalCotisation] ='FaitCotisation'[TotalCotisation]/
                    CALCULATE('FaitCotisation'[TotalCotisation],ALL('InstitutionPrevoyance'[InstitutionPrevoyance]))




DAX For Dummies
Requête en DAX
     (2/2)
     -- Suite de la requête
     EVALUATE

     TOPN
     (10,
                   FILTER
                   (
                                   ADDCOLUMNS
                                   (
                                   SUMMARIZE('FaitCotisation','Date'[Année_Nom],'InstitutionPrevoyance'[InstitutionPrevoyance]),
                                   "Cotisation N", 'FaitCotisation'[TotalCotisation],
                                   "Cotisation N-1",'FaitCotisation'[TotalCotisationPrevYear],
                                   "Rang N",'InstitutionPrevoyance'[RangIpN],
                                   "Rang N-1",'InstitutionPrevoyance'[RangIpN-1],
                                   "ClassementCategorieIP",'InstitutionPrevoyance'[CategorieClassementIP],
                                   "PourcentageTotalCotisation",'InstitutionPrevoyance'[PourcentageTotalCotisation]
                                   )
                    ,'Date'[Année_Nom]=2012 -- pour SSRS remplacer 2012 par VALUE(@Annee) nous permet d'avoir un paramètre année
                    )-- Fin FILTER
     ,'InstitutionPrevoyance'[RangIpN],1
     )-- Fin TOPN

     ORDER BY 'Date'[Année_Nom] DESC,'FaitCotisation'[TotalCotisation] DESC;--Fin EVALUATE


DAX For Dummies
Requête en MDX
     (1/2)
     – Définition des jeux et des mesures calculées

     WITH

     SET JeuCodeIPAnneeNTrieCotisationDesc AS
                    HEAD(EXTRACT(NONEMPTY(ORDER((EXCEPT([Institution Prevoyance].[Code Institution Prevoyance].[Code Institution
                    Prevoyance].MEMBERS,[Institution Prevoyance].[Code Institution Prevoyance].&[Inconnu])-[Institution
                    Prevoyance].[Code Institution Prevoyance].&)*(STRTOMEMBER(@Annee)),[Measures].[MontantCotisation] , BDESC )),
                    [Institution Prevoyance].[Code Institution Prevoyance]),10)

     SET JeuCodeIPAnneeNMoins1TrieCotisationDesc AS

                   EXTRACT(ORDER((EXCEPT([Institution Prevoyance].[Code Institution Prevoyance].[Code Institution
                   Prevoyance].MEMBERS,[Institution Prevoyance].[Code Institution Prevoyance].&[Inconnu])-[Institution
                   Prevoyance].[Code Institution Prevoyance].&)*(STRTOMEMBER(@AnneePrecedent)),[Measures].[Montant Cotisation] ,
                   BDESC ),[Institution Prevoyance].[Code Institution Prevoyance])

     MEMBER [Measures].[RangIpAnneeN] AS
                    Rank([Institution Prevoyance].[Code Institution Prevoyance].CurrentMember, JeuCodeIPAnneeNTrieCotisationDesc)

     MEMBER [Measures].[RangIpAnneeNMoins1] AS
                    Rank([Institution Prevoyance].[Code Institution Prevoyance].CurrentMember, JeuCodeIPAnneeNMoins1TrieCotisationDesc)




DAX For Dummies
Requête en MDX
     (2/2)
     -- Suite de la requête
     MEMBER [Measures].[PourcentageTotalCotisation] AS
                   ([Measures].[Montant Cotisation],STRTOMEMBER(@Annee))/SUM(ROOT([Institution Prevoyance]),([Measures].[Montant
                   Cotisation],STRTOMEMBER(@Annee)))

     MEMBER [Measures].[CategorieClassementIP] AS
                    CASE
                                  WHEN ([Measures].[RangIpAnneeN] <6) THEN "Sous-Total Top 5"
                                  WHEN ([Measures].[RangIpAnneeN] <11) THEN "Sous-Total Top 10"
                                  ELSE "Autres IP"
                    END

     MEMBER [Measures].[MontantCotisation] AS
                    ([Measures].[Montant Cotisation],STRTOMEMBER(@Annee))



     SELECT
     {[Measures].[MontantCotisation],[Measures].[PourcentageTotalCotisation],[Measures].[RangIpAnneeN],[Measures].[RangIpAnneeNMoins1]
     ,[Measures].[CategorieClassementIP]} ON 0,
     JeuCodeIPAnneeNTrieCotisationDesc*[Institution Prevoyance].[Institution Prevoyance].[Institution Prevoyance].MEMBERS ON 1
     FROM [Cube]




DAX For Dummies
RÉFÉRENCES

DAX For Dummies
Références
  • DAX Resource Center Wiki
   http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-
    center.aspx
  • MSDN Library – Data Analysis Expressions Reference
   http://msdn.microsoft.com/en-us/library/gg413422%28v=sql.110%29.aspx
  • Paul Te Braak – Blog
   http://paultebraak.wordpress.com/category/dax/
  • Chris Webb – Blog
   http://cwebbbi.wordpress.com/category/dax/
  • Marco Russo – Blog
   http://sqlblog.com/blogs/marco_russo/
DAX For Dummies
Quiz
  1.   Comment faire des regroupements de données en DAX ?
  2.   Peut-on joindre des jeux de données en DAX ?
  3.   Comment afficher la liste de mes produits en DAX ?
  4.   Sur une dimension historisée (par exemple produits), comment puis-je
       calculer le nombre de mes produits ?




DAX For Dummies
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

Contenu connexe

Tendances

Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...
Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...
Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...Edureka!
 
Data Visualisation, Business Intelligence et Big Data
Data Visualisation, Business Intelligence et Big DataData Visualisation, Business Intelligence et Big Data
Data Visualisation, Business Intelligence et Big DataVincent Lagorce
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
 
Business Intelligence : Transformer les données en information.
Business Intelligence : Transformer les données en information.Business Intelligence : Transformer les données en information.
Business Intelligence : Transformer les données en information.arnaudm
 
Découvrez Power BI - [webinaire avec demo]
Découvrez Power BI - [webinaire avec demo]Découvrez Power BI - [webinaire avec demo]
Découvrez Power BI - [webinaire avec demo]Technologia Formation
 
Web Intelligence - Tutorial1
Web Intelligence - Tutorial1Web Intelligence - Tutorial1
Web Intelligence - Tutorial1Obily W
 
Data Visualisation & Analytics with Tableau (Beginner) - by Maria Koumandraki
Data Visualisation & Analytics with Tableau (Beginner) - by Maria KoumandrakiData Visualisation & Analytics with Tableau (Beginner) - by Maria Koumandraki
Data Visualisation & Analytics with Tableau (Beginner) - by Maria KoumandrakiOutreach Digital
 
La démo DAX, le langage de Power BI [webinaire]
La démo DAX, le langage de Power BI [webinaire]La démo DAX, le langage de Power BI [webinaire]
La démo DAX, le langage de Power BI [webinaire]Technologia Formation
 
DAX and Power BI Training - 002 DAX Level 1 - 3
DAX and Power BI Training - 002 DAX Level 1 - 3DAX and Power BI Training - 002 DAX Level 1 - 3
DAX and Power BI Training - 002 DAX Level 1 - 3Will Harvey
 
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...Edureka!
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQLOussama ARBI
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4JLilia Sfaxi
 
DAX and Power BI Training - 001 Overview
DAX and Power BI Training -  001 OverviewDAX and Power BI Training -  001 Overview
DAX and Power BI Training - 001 OverviewWill Harvey
 

Tendances (20)

Excel to Power BI
Excel to Power BIExcel to Power BI
Excel to Power BI
 
Power Bi, le tour complet 2017
Power Bi, le tour complet 2017 Power Bi, le tour complet 2017
Power Bi, le tour complet 2017
 
Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...
Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...
Power BI Training | Getting Started with Power BI | Power BI Tutorial | Power...
 
Data Visualisation, Business Intelligence et Big Data
Data Visualisation, Business Intelligence et Big DataData Visualisation, Business Intelligence et Big Data
Data Visualisation, Business Intelligence et Big Data
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 
Business Intelligence : Transformer les données en information.
Business Intelligence : Transformer les données en information.Business Intelligence : Transformer les données en information.
Business Intelligence : Transformer les données en information.
 
noSQL
noSQLnoSQL
noSQL
 
Découvrez Power BI - [webinaire avec demo]
Découvrez Power BI - [webinaire avec demo]Découvrez Power BI - [webinaire avec demo]
Découvrez Power BI - [webinaire avec demo]
 
DAX (Data Analysis eXpressions) from Zero to Hero
DAX (Data Analysis eXpressions) from Zero to HeroDAX (Data Analysis eXpressions) from Zero to Hero
DAX (Data Analysis eXpressions) from Zero to Hero
 
Web Intelligence - Tutorial1
Web Intelligence - Tutorial1Web Intelligence - Tutorial1
Web Intelligence - Tutorial1
 
Data Visualisation & Analytics with Tableau (Beginner) - by Maria Koumandraki
Data Visualisation & Analytics with Tableau (Beginner) - by Maria KoumandrakiData Visualisation & Analytics with Tableau (Beginner) - by Maria Koumandraki
Data Visualisation & Analytics with Tableau (Beginner) - by Maria Koumandraki
 
Tableau vs PowerBI
Tableau vs PowerBITableau vs PowerBI
Tableau vs PowerBI
 
La démo DAX, le langage de Power BI [webinaire]
La démo DAX, le langage de Power BI [webinaire]La démo DAX, le langage de Power BI [webinaire]
La démo DAX, le langage de Power BI [webinaire]
 
DAX and Power BI Training - 002 DAX Level 1 - 3
DAX and Power BI Training - 002 DAX Level 1 - 3DAX and Power BI Training - 002 DAX Level 1 - 3
DAX and Power BI Training - 002 DAX Level 1 - 3
 
Power BI Interview Questions
Power BI Interview QuestionsPower BI Interview Questions
Power BI Interview Questions
 
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
Power BI Interview Questions and Answers | Power BI Certification | Power BI ...
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
 
Power BI
Power BIPower BI
Power BI
 
BigData_TP5 : Neo4J
BigData_TP5 : Neo4JBigData_TP5 : Neo4J
BigData_TP5 : Neo4J
 
DAX and Power BI Training - 001 Overview
DAX and Power BI Training -  001 OverviewDAX and Power BI Training -  001 Overview
DAX and Power BI Training - 001 Overview
 

Similaire à DAX for dummies / DAX pour les NULS !

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
 
Vision et poc EDFsur les enjeux big data
Vision et poc EDFsur les enjeux big dataVision et poc EDFsur les enjeux big data
Vision et poc EDFsur les enjeux big dataBruno Patin
 
Big Data by Soft Computing - Lille
Big Data by Soft Computing - LilleBig Data by Soft Computing - Lille
Big Data by Soft Computing - LilleSoft Computing
 
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...IBM France Lab
 
Release note de 3D_Evolution 4.6
Release note de 3D_Evolution 4.6Release note de 3D_Evolution 4.6
Release note de 3D_Evolution 4.6CORETECHNOLOGIE
 
Matinale Technologique SAS
Matinale Technologique SASMatinale Technologique SAS
Matinale Technologique SASSoft Computing
 
Petit-déjeuner OCTO Technology : Calculez vos indicateurs en temps réel ave...
Petit-déjeuner OCTO Technology :  Calculez vos indicateurs en temps réel ave...Petit-déjeuner OCTO Technology :  Calculez vos indicateurs en temps réel ave...
Petit-déjeuner OCTO Technology : Calculez vos indicateurs en temps réel ave...OCTO Technology
 
DeciLogic, les modélisations décisionnelles
DeciLogic, les modélisations décisionnellesDeciLogic, les modélisations décisionnelles
DeciLogic, les modélisations décisionnellesEric Mauvais
 
Restitution des données environnement Microsoft & data visualization : panel ...
Restitution des données environnement Microsoft & data visualization : panel ...Restitution des données environnement Microsoft & data visualization : panel ...
Restitution des données environnement Microsoft & data visualization : panel ...Microsoft
 
Présentation de la rencontre du Groupe d'usagers FME_mars 2011
Présentation de la rencontre du Groupe d'usagers FME_mars 2011Présentation de la rencontre du Groupe d'usagers FME_mars 2011
Présentation de la rencontre du Groupe d'usagers FME_mars 2011Consortech
 
Serverless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric GuigonServerless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric GuigonThe Incredible Automation Day
 
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
 
CORETECHNOLOGIE - 20 ans d'innovation logicielle
CORETECHNOLOGIE - 20 ans d'innovation logicielleCORETECHNOLOGIE - 20 ans d'innovation logicielle
CORETECHNOLOGIE - 20 ans d'innovation logicielleCORETECHNOLOGIE
 
Data Modeling Power BI [SqlSat '18]
Data Modeling Power BI [SqlSat '18]Data Modeling Power BI [SqlSat '18]
Data Modeling Power BI [SqlSat '18]Joël Crest
 
SQL Server 2012 et ArcGIS d'Esri: Intégrez la dimension géographique dans vos...
SQL Server 2012 et ArcGIS d'Esri: Intégrez la dimension géographique dans vos...SQL Server 2012 et ArcGIS d'Esri: Intégrez la dimension géographique dans vos...
SQL Server 2012 et ArcGIS d'Esri: Intégrez la dimension géographique dans vos...Microsoft Technet France
 

Similaire à DAX for dummies / DAX pour les NULS ! (20)

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
 
Vision et poc EDFsur les enjeux big data
Vision et poc EDFsur les enjeux big dataVision et poc EDFsur les enjeux big data
Vision et poc EDFsur les enjeux big data
 
Big Data by Soft Computing - Lille
Big Data by Soft Computing - LilleBig Data by Soft Computing - Lille
Big Data by Soft Computing - Lille
 
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
IBM Bluemix Paris Meetup #22-20170315 Meetup @VillagebyCA- Bluemix, présent &...
 
Big data
Big dataBig data
Big data
 
Release note de 3D_Evolution 4.6
Release note de 3D_Evolution 4.6Release note de 3D_Evolution 4.6
Release note de 3D_Evolution 4.6
 
Mathcad 15 en quelques mots
Mathcad 15 en quelques motsMathcad 15 en quelques mots
Mathcad 15 en quelques mots
 
Matinale Technologique SAS
Matinale Technologique SASMatinale Technologique SAS
Matinale Technologique SAS
 
Petit-déjeuner OCTO Technology : Calculez vos indicateurs en temps réel ave...
Petit-déjeuner OCTO Technology :  Calculez vos indicateurs en temps réel ave...Petit-déjeuner OCTO Technology :  Calculez vos indicateurs en temps réel ave...
Petit-déjeuner OCTO Technology : Calculez vos indicateurs en temps réel ave...
 
DeciLogic, les modélisations décisionnelles
DeciLogic, les modélisations décisionnellesDeciLogic, les modélisations décisionnelles
DeciLogic, les modélisations décisionnelles
 
Restitution des données environnement Microsoft & data visualization : panel ...
Restitution des données environnement Microsoft & data visualization : panel ...Restitution des données environnement Microsoft & data visualization : panel ...
Restitution des données environnement Microsoft & data visualization : panel ...
 
Présentation de la rencontre du Groupe d'usagers FME_mars 2011
Présentation de la rencontre du Groupe d'usagers FME_mars 2011Présentation de la rencontre du Groupe d'usagers FME_mars 2011
Présentation de la rencontre du Groupe d'usagers FME_mars 2011
 
Hug janvier 2016 -EDF
Hug   janvier 2016 -EDFHug   janvier 2016 -EDF
Hug janvier 2016 -EDF
 
Serverless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric GuigonServerless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric Guigon
 
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
 
CORETECHNOLOGIE - 20 ans d'innovation logicielle
CORETECHNOLOGIE - 20 ans d'innovation logicielleCORETECHNOLOGIE - 20 ans d'innovation logicielle
CORETECHNOLOGIE - 20 ans d'innovation logicielle
 
EDW Microsoft/Netezza
EDW Microsoft/NetezzaEDW Microsoft/Netezza
EDW Microsoft/Netezza
 
Data Modeling Power BI [SqlSat '18]
Data Modeling Power BI [SqlSat '18]Data Modeling Power BI [SqlSat '18]
Data Modeling Power BI [SqlSat '18]
 
Connecter le PLM à son ERP - FREWITT
Connecter le PLM à son ERP - FREWITTConnecter le PLM à son ERP - FREWITT
Connecter le PLM à son ERP - FREWITT
 
SQL Server 2012 et ArcGIS d'Esri: Intégrez la dimension géographique dans vos...
SQL Server 2012 et ArcGIS d'Esri: Intégrez la dimension géographique dans vos...SQL Server 2012 et ArcGIS d'Esri: Intégrez la dimension géographique dans vos...
SQL Server 2012 et ArcGIS d'Esri: Intégrez la dimension géographique dans vos...
 

Plus de Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 

Plus de Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 

DAX for dummies / DAX pour les NULS !

  • 1. DAX For Dummies Pascal Rouzé & Julien Vidal Consultants décisionnels MCNEXT www.mcnext.com Office / B2B / LOB / Entreprise
  • 3. 100 % 180 collaborateurs Depuis 2007 à Paris - Lyon - Genève Dot Share NET Point Business Intelligence Biz Microsoft Talk Stand 97 – Zone bleu foncé DAX For Dummies
  • 4. DAX • Le DAX (Data Analysis eXpression) est le langage utilisé par :  PowerPivot  le modèle tabulaire dans Analysis Services  Power View • Il est utilisé pour créer des mesures et colonnes calculées et pour interroger des modèles tabulaires. DAX For Dummies
  • 5. Colonnes et mesures calculées Colonne calculée Mesure calculée DAX For Dummies
  • 6. BISM (BI Semantic Model) Third-party Reporting SharePoint Excel PowerPivot applications Services Power View Support des MDX modèles MD MDX DAX/MDX DAX prochainement Multi- Data Model dimensional Tabular Business logic and queries MDX DAX MOLA Direct Data Access ROLAP VertiPaq P Query Databases LOB Applications Files OData Feeds Cloud Services DAX For Dummies
  • 7. Prérequis pour utiliser PowerPivot • Système d’exploitation 32 ou 64 bits • 1 GB de RAM, 2 GB recommandés • Windows XP SP3, Vista SP1, Windows 7 & 8 • .NET Framework 3.5 SP1 • Microsoft Office 2010, 2013 DAX For Dummies
  • 8. Type de données Type Description Whole Number Valeur entière Decimal Number Nombre réel Currency Devise TRUE/FALSE Booléen Text Chaîne de caractères Date Date/Heure commençant en 1900 Binary Donnée binaire importée depuis une source de données (une image par exemple) DAX For Dummies
  • 9. Fonctions DAX • Plus de 170 fonctions avec SQL Server 2012 Fonctions d’information ISBLANK(…), ISERROR(…), etc. Fonctions de date MONTH(…), DATESYTD(…), PARALLELPERIOD(…), etc. Fonctions de chaîne TRIM(…), CONCATENATE(…), FORMAT(…), etc. Fonctions statistiques SUM(…), SUMX(…), COUNTROWS(…), MIN(…), etc. Fonction de filtres ALL(…), FILTER(…), etc. Fonctions logiques IF(…), SWITCH(…), AND, OR, etc. Fonctions mathématiques ABS(…), EXP(…), LOG(…), etc. DAX For Dummies
  • 11. Démonstration Scénario 1 : Table Période DAX For Dummies
  • 12. Scénario 1 : Table Période • Les utilisateurs veulent pouvoir effectuer rapidement des comparaisons à partir de n’importe quelle date (par rapport à l’année dernière, Year-To-Date, etc.). Pour cela, on va créer une dimension « Période » spécifique. DAX For Dummies
  • 13. Scénario 1 : Table Période • Solution proposée adaptée  PowerPivot  DAX DAX For Dummies
  • 14. Scénario 1 : Table Période • Le modèle dans PowerPivot Dimensions Dimension Mesure calculée Colonne Hiérarchie Fait DAX For Dummies
  • 15. Scénario 1 : Table Période DEMO DAX For Dummies
  • 16. Scénario 1 : Table Période • Mesures DAX  Mesures intermédiaires : – [YTD Montant des commandes]:=TOTALYTD([Montant des commandes]; 'Date Commande'[Date]) – [Montant des commandes A-1]:=CALCULATE([Montant des commandes]; SAMEPERIODLASTYEAR('Date Commande'[Date])) …  Mesure finale : – [Commandes]:=IF( HASONEVALUE('Période'[Période]); SWITCH(VALUES('Période'[Période]); "Courant"; [Montant des commandes]; "YTD"; [YTD Montant des commandes]; "Courant A-1"; [Montant des commandes A-1]; … BLANK() ); BLANK() ) DAX For Dummies
  • 17. Démonstration Scénario 2 : Assurance DAX For Dummies
  • 18. Scénario 2 : Assurance • Le service actuariat désire connaître le dernier montant des rentes versées à chaque bénéficiaire à une date spécifique. DAX For Dummies
  • 19. Scénario 2 : Assurance • Solution proposée adaptée  PowerPivot  DAX DAX For Dummies
  • 20. Scénario 2 : Assurance • Le modèle de données dans Powerpivot Dimension Mesure calculée Colonne Dimension Fait DAX For Dummies
  • 21. Scénario 2 : Assurance DEMO DAX For Dummies
  • 22. Scénario 2 : Assurance • Mesures DAX  Mesures intermédiaires : – [TotalRente]:=SUM('FaitRente'[MontantRente])  Mesure finale : – [DerniereRente]=CALCULATE([TotalRente]; LASTNONBLANK('Date'[PK_Date];[TotalRente])) – [DateDerniereRente]=LASTNONBLANK('FaitRente'[DateRenteValeur]; [TotalRente]) DAX For Dummies
  • 23. Démonstration Scénario 3 : Grande distribution DAX For Dummies
  • 24. Scénario 3 : Grande distribution • Le directeur financier d’une société de grande distribution veut pouvoir déterminer la moyenne du nombre d’articles vendus par magasin depuis le début du mois. DAX For Dummies
  • 25. Scénario 3 : Grande distribution • Solution proposée adaptée  PowerPivot  DAX DAX For Dummies
  • 26. Scénario 3 : Grande distribution • Le modèle dans PowerPivot Fait Mesure calculée Dimensions Dimension Colonne Hiérarchie DAX For Dummies
  • 27. Scénario 3 : Grande distribution DEMO DAX For Dummies
  • 28. Scénario 3 : Grande distribution • Mesures DAX  Mesures intermédiaires : – [Qte MTD]:=TOTALMTD(SUMX(Vente; Vente[Quantite]); 'Date Vente'[Date]) – [Nb Magasins]:=CALCULATE(COUNTROWS(DISTINCT(Magasin[Code Magasin])); Magasin[Code Magasin] <> ""; FILTER(Vente; [Qte MTD] > 0))  Mesure finale : – [Moyenne Par Magasin]:=IF(ISBLANK([Nb Magasins]); BLANK(); [Qte MTD] / [Nb Magasins]) DAX For Dummies
  • 29. Démonstration Scénario 4 : Assurance DAX For Dummies
  • 30. Scénario 4 : Assurance • Le service de la gestion souhaite suivre le montant des cotisations reçues :  Évolution annuelle  Répartition par institution DAX For Dummies
  • 31. Scénario 4 : Assurance • Solution proposée adaptée  SSAS en mode tabulaire  DAX  Rapport SQL Server Reporting Services DAX For Dummies
  • 32. Scénario 4 : Assurance • Le modèle de données dans SSAS en mode tabulaire Dimension Dimension Fait DAX For Dummies
  • 33. Scénario 4 : Assurance DEMO DAX For Dummies
  • 34. Requête en DAX (1/2) DEFINE – Définition des mesures calculées MEASURE 'FaitCotisation'[TotalCotisation] = SUM('FaitCotisation'[MontantCotisation]) MEASURE 'FaitCotisation'[TotalCotisationPrevYear] = CALCULATE('FaitCotisation'[TotalCotisation],PREVIOUSYEAR('Date'[PK_Date])) MEASURE 'InstitutionPrevoyance'[RangIpN] = IF(ISBLANK('FaitCotisation'[TotalCotisation]),BLANK(), RANKX(ALL('InstitutionPrevoyance'[InstitutionPrevoyance]),'FaitCotisation'[TotalCotisation])) MEASURE 'InstitutionPrevoyance'[RangIpN-1] = IF(ISBLANK('FaitCotisation'[TotalCotisationPrevYear]),BLANK(), CALCULATE([RangIpN],PREVIOUSYEAR('Date'[PK_Date]))) MEASURE 'InstitutionPrevoyance'[CategorieClassementIP] = IF('InstitutionPrevoyance'[RangIpN]<6,"Sous-Total Top 5",IF('InstitutionPrevoyance'[RangIpN]<11,"Sous- Total Top 10","Autres IP")) MEASURE 'InstitutionPrevoyance'[PourcentageTotalCotisation] ='FaitCotisation'[TotalCotisation]/ CALCULATE('FaitCotisation'[TotalCotisation],ALL('InstitutionPrevoyance'[InstitutionPrevoyance])) DAX For Dummies
  • 35. Requête en DAX (2/2) -- Suite de la requête EVALUATE TOPN (10, FILTER ( ADDCOLUMNS ( SUMMARIZE('FaitCotisation','Date'[Année_Nom],'InstitutionPrevoyance'[InstitutionPrevoyance]), "Cotisation N", 'FaitCotisation'[TotalCotisation], "Cotisation N-1",'FaitCotisation'[TotalCotisationPrevYear], "Rang N",'InstitutionPrevoyance'[RangIpN], "Rang N-1",'InstitutionPrevoyance'[RangIpN-1], "ClassementCategorieIP",'InstitutionPrevoyance'[CategorieClassementIP], "PourcentageTotalCotisation",'InstitutionPrevoyance'[PourcentageTotalCotisation] ) ,'Date'[Année_Nom]=2012 -- pour SSRS remplacer 2012 par VALUE(@Annee) nous permet d'avoir un paramètre année )-- Fin FILTER ,'InstitutionPrevoyance'[RangIpN],1 )-- Fin TOPN ORDER BY 'Date'[Année_Nom] DESC,'FaitCotisation'[TotalCotisation] DESC;--Fin EVALUATE DAX For Dummies
  • 36. Requête en MDX (1/2) – Définition des jeux et des mesures calculées WITH SET JeuCodeIPAnneeNTrieCotisationDesc AS HEAD(EXTRACT(NONEMPTY(ORDER((EXCEPT([Institution Prevoyance].[Code Institution Prevoyance].[Code Institution Prevoyance].MEMBERS,[Institution Prevoyance].[Code Institution Prevoyance].&[Inconnu])-[Institution Prevoyance].[Code Institution Prevoyance].&)*(STRTOMEMBER(@Annee)),[Measures].[MontantCotisation] , BDESC )), [Institution Prevoyance].[Code Institution Prevoyance]),10) SET JeuCodeIPAnneeNMoins1TrieCotisationDesc AS EXTRACT(ORDER((EXCEPT([Institution Prevoyance].[Code Institution Prevoyance].[Code Institution Prevoyance].MEMBERS,[Institution Prevoyance].[Code Institution Prevoyance].&[Inconnu])-[Institution Prevoyance].[Code Institution Prevoyance].&)*(STRTOMEMBER(@AnneePrecedent)),[Measures].[Montant Cotisation] , BDESC ),[Institution Prevoyance].[Code Institution Prevoyance]) MEMBER [Measures].[RangIpAnneeN] AS Rank([Institution Prevoyance].[Code Institution Prevoyance].CurrentMember, JeuCodeIPAnneeNTrieCotisationDesc) MEMBER [Measures].[RangIpAnneeNMoins1] AS Rank([Institution Prevoyance].[Code Institution Prevoyance].CurrentMember, JeuCodeIPAnneeNMoins1TrieCotisationDesc) DAX For Dummies
  • 37. Requête en MDX (2/2) -- Suite de la requête MEMBER [Measures].[PourcentageTotalCotisation] AS ([Measures].[Montant Cotisation],STRTOMEMBER(@Annee))/SUM(ROOT([Institution Prevoyance]),([Measures].[Montant Cotisation],STRTOMEMBER(@Annee))) MEMBER [Measures].[CategorieClassementIP] AS CASE WHEN ([Measures].[RangIpAnneeN] <6) THEN "Sous-Total Top 5" WHEN ([Measures].[RangIpAnneeN] <11) THEN "Sous-Total Top 10" ELSE "Autres IP" END MEMBER [Measures].[MontantCotisation] AS ([Measures].[Montant Cotisation],STRTOMEMBER(@Annee)) SELECT {[Measures].[MontantCotisation],[Measures].[PourcentageTotalCotisation],[Measures].[RangIpAnneeN],[Measures].[RangIpAnneeNMoins1] ,[Measures].[CategorieClassementIP]} ON 0, JeuCodeIPAnneeNTrieCotisationDesc*[Institution Prevoyance].[Institution Prevoyance].[Institution Prevoyance].MEMBERS ON 1 FROM [Cube] DAX For Dummies
  • 39. Références • DAX Resource Center Wiki  http://social.technet.microsoft.com/wiki/contents/articles/dax-resource- center.aspx • MSDN Library – Data Analysis Expressions Reference  http://msdn.microsoft.com/en-us/library/gg413422%28v=sql.110%29.aspx • Paul Te Braak – Blog  http://paultebraak.wordpress.com/category/dax/ • Chris Webb – Blog  http://cwebbbi.wordpress.com/category/dax/ • Marco Russo – Blog  http://sqlblog.com/blogs/marco_russo/ DAX For Dummies
  • 40. Quiz 1. Comment faire des regroupements de données en DAX ? 2. Peut-on joindre des jeux de données en DAX ? 3. Comment afficher la liste de mes produits en DAX ? 4. Sur une dimension historisée (par exemple produits), comment puis-je calculer le nombre de mes produits ? DAX For Dummies
  • 41. 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

  1. Intro Office / B2B / LOB / entreprise
  2. Les blocs de couleurssontéditables et peuventreprendre la couleur du type de session qui estdonnée.
  3. Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  4. Les blocs de couleurssontéditables et peuventreprendre la couleur du type de session qui estdonnée.
  5. Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  6. Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  7. Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  8. Exemple de page image
  9. Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  10. SSAS en mode tabulaire : nouveau besoin, gestion complémentaire des accès aux données via les rôlesSSRS comme outil de restitution (pas de sharepoint, Office en version ancienne)
  11. Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  12. Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  13. Exemple de page image
  14. Les actuaires sont chargés d’effectuer les calculs de PM (provisions mathématiques) qui entrent en jeu notamment pour les ratios de solvabilité imposés par les contraintes législatives,
  15. SSAS en mode tabulaire : nouveau besoin, gestion complémentaire des accès aux données via les rôlesSSRS comme outil de restitution (pas de sharepoint, Office en version ancienne)
  16. SSAS en mode tabulaire : nouveau besoin, gestion complémentaire des accès aux données via les rôlesSSRS comme outil de restitution (pas de sharepoint, Office en version ancienne)
  17. Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  18. Exemple de page image
  19. Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  20. Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  21. Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
  22. Exemple de page image
  23. Les blocs de couleurssontéditables et peuventreprendre la couleur du type de session qui estdonnée.
  24. SSAS en mode tabulaire : nouveau besoin, gestion complémentaire des accès aux données via les rôlesSSRS comme outil de restitution (pas de sharepoint, Office en version ancienne)
  25. Les blocs de couleurssontéditables et peuventreprendre la couleur du type de session qui estdonnée.
  26. Define measure : ne dure que le temps de la requêteCalculate : permet le changement de contexte pour filtrer les donnéesIl existe d’autres fonctions pour arriver au même but (sameperiodlastyear)
  27. Exemple de page de code pour le secteur dev
  28. A titre indicatif
  29. A titre indicatif
  30. Les blocs de couleurssontéditables et peuventreprendre la couleur du type de session qui estdonnée.
  31. Les blocs de couleurssontéditables et peuventreprendre la couleur du type de session qui estdonnée.
  32. Notation