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

MS SQL Server Discussion :

[MDX] Fonction Topcount


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de Reskibil
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Par défaut [MDX] Fonction Topcount
    Bonjour,

    Je voudrais avoir dans un dataset uniquement le top 5. Donc j'ai essayé la fonction TOPCOUNT mais même en la tournant dans tous les sens, ca me sort une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT 
    TOPCOUNT ( {[Fact Proposal].[Proposal Number]}, 5 ,[Measures].[Amount - E]) ON 0,
     [Dim Currency].[Country Code] on 1
    FROM ( SELECT ( { [Dim Currency].[Country Code].&[BE] } ) ON 0 
    FROM ( SELECT ( { [Time Key Issuing Date].[Calendar].[Month].&[2007]&[7] } ) ON 0 
    FROM ( SELECT ( { [Fact Proposal].[Proposal Status].&[020 - Proposal Issued] } ) ON 0 FROM [BV Sales DW])))
    Voila le dernier en date et l'erreur (qui est otujours la même) est qu'il n'y a pas d'axe, ou que le 1er axe appelle plusieurs hierarchies ou n'est pas une mesure. Pour le coup c'est exact mais je me suis basé sur l'exemple fourni sur le site de Microsoft...

    Donc pour faire simple (ca se compliquera après mais au moins que ca, ca marche ce sera pas mal), il me faut les 5 proposal ayant le plus grand amount par pays (j'ai restreint les données en dessous car y'a beaucoup de données).

    Si quelqu'un peut m'aider ou me fournir un autre exemple qui marche

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de Reskibil
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Par défaut
    Bon après divers essais sans succès j'ai testé un truc différent trouvé sur le net mais ca n'a pas marché non plus. Avec un Subset(order(...

    Le probleme c'est que meme un truc comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT 
    {order([Measures].[Amount - E],bdesc)} ON COLUMNS, 
    NON EMPTY {[Fact Proposal].[Proposal Number].[Proposal Number]} ON ROWS 
    FROM ( SELECT ( { [Dim Currency].[Country Code].&[BE] } ) ON COLUMNS 
    FROM ( SELECT ( { [Time Key Issuing Date].[Calendar].[Month].&[2007]&[7] } ) ON COLUMNS 
    FROM ( SELECT ( { [Fact Proposal].[Proposal Status].&[020 - Proposal Issued] } ) ON COLUMNS FROM [BV Sales DW])))
    ne marche pas. Pas d'erreur mais il ne trie pas les mesures dans l'ordre. Quelqu'un à une idée du pourquoi du comment ?

  3. #3
    Membre émérite
    Avatar de Reskibil
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Par défaut
    Bon c'est bon, trouvé. Si ca peut aider quelqu'un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select 
         {{[Measures].[Amount - E]},{ [Measures].[Amount - DC]}} on 0,
    non empty 
    TOPCOUNT([Fact Proposal].[Proposal Number].children ,5,([Measures].[Amount - E])) 
    * [Fact Proposal].[Group Product].[Group Product].allmembers
     
    on 1
    FROM ( SELECT ( strtoset( @DimCurrencyCountryCode,constrained)) ON COLUMNS 
    FROM ( SELECT ( strtoset( @Fulldate, constrained) ) ON COLUMNS 
    FROM ( SELECT ( { [Fact Proposal].[Proposal Status].&[020 - Proposal Issued] } ) ON COLUMNS FROM [BV Sales DW])))

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

Discussions similaires

  1. [SSAS] [2K5] MDX fonction LinkMember
    Par fcbad dans le forum SSAS
    Réponses: 0
    Dernier message: 28/04/2010, 14h53
  2. Fonction Topcount pays / client / ventes
    Par Rouxyman dans le forum SSAS
    Réponses: 1
    Dernier message: 17/11/2009, 18h33
  3. MDX fonction sur chaine de caractères (concat(),Substring())
    Par YagamiRaito dans le forum Mondrian
    Réponses: 2
    Dernier message: 16/08/2007, 17h16
  4. (MDX) Fonction COALESCEEMPTY
    Par Reskibil dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/07/2007, 11h25
  5. Question MDX avec la fonction Iif
    Par toc2000 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/11/2006, 21h14

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