IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SSAS Discussion :

Optimisation requête MDX avec StrToMember() [2008R2]


Sujet :

SSAS

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant ERP Microsoft Dynamics Nav
    Inscrit en
    Octobre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP Microsoft Dynamics Nav

    Informations forums :
    Inscription : Octobre 2011
    Messages : 20
    Points : 19
    Points
    19
    Par défaut Optimisation requête MDX avec StrToMember()
    Bonsoir,

    J'ai un soucis concernant une requête MDX qui fonctionne très bien quand je passe un membre en "dur". Le fait d'utiliser la fonction STRTOMEMBER pour passer la date du jour par exemple. la requête ne se termine plus.
    Auriez vous une idée sur le cas ? ou une autre façon de procéder pour passer la date du jour dans la requête.

    Merci d'avance ci dessous la requête qui pose problème avec en commentaire le code qui ne fonctionne pas.

    Merci,

    [code]

    WITH
    MEMBER [Date complete] as (format(NOW(),"yyyy-MM-dd"))

    MEMBER [Measures].[N] AS
    Sum
    (
    YTD([Time Dimenson].[Année - Semestre - Trimestre - Mois - Date].[Date].&[2013-01-24T00:00:00])
    //YTD(StrToMember("[Time Dimenson].[Année - Semestre - Trimestre - Mois - Date].[Date].&[" + [Date complete] + "T00:00:00]"))
    ,[Measures].[Chiffre Affaire Net]
    )

    MEMBER [Measures].[N-1] AS
    Sum
    (
    MTD(PARALLELPERIOD([Time Dimenson].[Année - Semestre - Trimestre - Mois - Date].[Mois],1,[Time Dimenson].[Année - Semestre - Trimestre - Mois - Date].[Date].&[2013-01-24T00:00:00]))
    //MTD(PARALLELPERIOD([Time Dimenson].[Année - Semestre - Trimestre - Mois - Date].[Mois],1,StrToMember("[Time Dimenson].[Année - Semestre - Trimestre - Mois - Date].[Date].&[" + [Date complete] + "T00:00:00]")))
    ,[Measures].[Chiffre Affaire Net]
    )

    MEMBER [Measures].[M] AS
    Sum
    (
    MTD([Time Dimenson].[Année - Semestre - Trimestre - Mois - Date].[Date].&[2013-01-24T00:00:00])
    //MTD(StrToMember("[Time Dimenson].[Année - Semestre - Trimestre - Mois - Date].[Date].&[" + [Date complete] + "T00:00:00]"))
    ,[Measures].[Chiffre Affaire Net]
    )

    SELECT
    {
    [Measures].[N-1],[Measures].[N],[Measures].[M]
    } ON COLUMNS
    ,NON EMPTY(
    [Sell-to Customer].[Criteria 4].Members - [Sell-to Customer].[Criteria 4].Members.Item(0),
    [Location].[Code].Members - [Location].
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    .Members.Item(0),
     
    [Entity Type].[No].Members - [Entity Type].[No].Item(0)
      ) ON ROWS
     
    FROM ( SELECT ( { [Sell-to Customer].[Criteria 8].&[001], 
                                 [Sell-to Customer].[Criteria 8].&[002], 
                                 [Sell-to Customer].[Criteria 8].&[003], 
                                 [Sell-to Customer].[Criteria 8].&[005], 
                                 [Sell-to Customer].[Criteria 8].&[007], 
                                 [Sell-to Customer].[Criteria 8].&[008] } ) ON COLUMNS
    FROM [Projet Analysis Services 4])

  2. #2
    Membre à l'essai
    Homme Profil pro
    Consultant ERP Microsoft Dynamics Nav
    Inscrit en
    Octobre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP Microsoft Dynamics Nav

    Informations forums :
    Inscription : Octobre 2011
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    En utilisant directement le format dans la requête cela fonctionne mieux.

  3. #3
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Bon et sans épilogues, évitez les clés de dim en DateTime, ça ne sert pas à grand chose. Quant à Now(), c'est à éviter. Chris Webb avait bien montré les problèmes de ClearCache que cela induit. Mieux vaut précalculer ça à l'ETL et l'utiliser via un Tail(NonEmpty(...)) / ou un attribut dédié si l'alim est faite d'avance

  4. #4
    Membre à l'essai
    Homme Profil pro
    Consultant ERP Microsoft Dynamics Nav
    Inscrit en
    Octobre 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP Microsoft Dynamics Nav

    Informations forums :
    Inscription : Octobre 2011
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    Une fois de plus merci pour ton aide Francois, je viens de vérifier comment la dim de temps fonctionne dans adventureworks c'est ok je vais corriger
    merci pour l'info je vais parcourir le site de Chris Webb. Je débute en MDX, il y a encore du chemin à parcourir.

  5. #5
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    De rien, happy to help

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requêtes MDX avec paramètres
    Par aqavach dans le forum SSRS
    Réponses: 3
    Dernier message: 23/08/2013, 09h36
  2. Problème requête MDX avec JPivot
    Par bash13 dans le forum Développement
    Réponses: 1
    Dernier message: 17/12/2010, 12h17
  3. Requête MDX AVEC MONDRIAN nulle
    Par ALLODREN dans le forum Jasper
    Réponses: 1
    Dernier message: 29/09/2009, 12h08
  4. Comment optimiser requête SQL avec création Index
    Par schumi101 dans le forum SQL
    Réponses: 25
    Dernier message: 11/12/2007, 21h28
  5. [reporting services]pb de requête MDX avec paramètre date
    Par lamyae_84 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/06/2007, 17h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo