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 :

[Reporting Services]Requete MDX avec intervalle de temps


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 43
    Points : 31
    Points
    31
    Par défaut [Reporting Services]Requete MDX avec intervalle de temps
    Bonjour

    J'ai toujours mon problème avec mes paramètres dates dans un rapport.
    J'ai une requête que je veux interroger sur une période de temps. J'utilise le concepteur de requete de SSRS tout bête (j'aime pas le MDX).

    Je cherche donc le nombre de maladies rencontrées par catégories de maladies. Mes paramètres sont une période de temps avec mon champ full date. Par défaut, quand on l'insère, il le met en String. Donc moi, je le modifie en datetime dans requete pour pouvoir avoir dans mon rapport un petit calendrier où je sélectionne la date voulue.

    Mon problème c'est que la requete MDX générée, elle, n'est pas modifiée derrière et je ne sais pas comment faire pour la modifer et je sais que c'est ça qui n'est pas bon car quand je génère mon rapport et que je sélectionne mes dates, j'ai une erreur qui me dit: "Les restrictions imposées par l'indicateur CONSTRAINED dans la fonction STRTOMEMBER n'ont pas été respectées".

    Ca me parait logique, vu que mes dates ne sont pas des string mais des datetime mais comment modifier la requete pour que mon rapport fonctionne avec les dates ?

    Voilà la requete MDX pourrie générée:
    SELECT NON EMPTY { [Measures].[Fait Nb Maladie Count] } ON COLUMNS, NON EMPTY { ([Dim Type Maladie].[Type Maladie].[Type Maladie].ALLMEMBERS * [Dim Sejour].[Num dossier].[Num dossier].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( { [Dim service].[Lib service].&[accueil] } ) ON COLUMNS FROM ( SELECT ( STRTOMEMBER(@FromDimTempsFullDate, CONSTRAINED) : STRTOMEMBER(@ToDimTempsFullDate, CONSTRAINED) ) ON COLUMNS FROM [Cube_Nb_Maladie])) WHERE ( [Dim service].[Lib service].&[accueil] ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
    Merci d'avance

    Caro

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 874
    Points : 53 048
    Points
    53 048
    Billets dans le blog
    6
    Par défaut
    essayez le format ISO court : AAAAMMJJ.

    A +

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 43
    Points : 31
    Points
    31
    Par défaut
    Donc si je comprends bien, il faut que je modifie mon paramètre de conversion en 100 ou autre format anglophone... J'vais essayer... merci

    Edit:... Bon bah... si je change mon paramètre 103 en 102 dans la fonction CONVERT des requêtes SQL de mon ETL et que je recharge mes données... ça change rien. J'ai pas dû changer au bon endroit. Je dois changer ça où ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 43
    Points : 31
    Points
    31
    Par défaut
    bon je reviens à mon petite problème de date parce que jusqu'à maintenant ça marche pas mais le monsieur de Microsoft m'a mise sur la piste et ça ressemblerait à quelque chose dans ce style.
    SELECT NON EMPTY { [Measures].[Fait Nb Maladie Count] } ON COLUMNS, NON EMPTY { ([Dim Type Maladie].[Type Maladie].[Type Maladie].ALLMEMBERS * [Dim Sejour].[Num dossier].[Num dossier].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( { [Dim service].[Lib service].&[accueil] } ) ON COLUMNS FROM ( SELECT ( STRTOMEMBER([Dim Temps].[Full Date].&[Format(@DateDepart,"s")], CONSTRAINED) : STRTOMEMBER([Dim Temps].[Full Date].&[Format(@DateFin,"s")], CONSTRAINED) ) ON COLUMNS FROM [Cube_Nb_Maladie])) WHERE ( [Dim service].[Lib service].&[accueil] ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
    Le hic... forcément, j'ai réfléchi (oui oui, ça m'arrive), c'est qu'il ne va pas me prendre ma fonction format comme ça vu qu'il s'attend à une date entre crochets. J'ai essayé de faire un membre calculé avec le with member mais je coince car j'ai fait qch du style:
    WITH MEMBER [Measures].[DateDepart] AS 'Format(@Depart,"s")' SELECT ......
    le truc c'est que je suis nulle en MDX et que tout bêtement, j'ai essayé le coup du [Measures].&[DateDepart]. Bon, c'est pas ça. J'ai donc essayé le [Measures].[DateDepart].allmembers, .members, .currentmember, et tout le tralala. Bref, de toute façon, je suis sûre que je suis dans la mauvaise direction parce qu'à la base c'était du [Dim Temps].

    Je sais que j'y suis presque avec mes p'tits calendriers. Rha, j'voudrais bien épater le client moi demain mais là j'ai plus l'impression d'être une lavette qu'autre chose. Vive le stress. N'ai marre

  5. #5
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Comment génères-tu le MDX ? Avec l'éditeur de SSRS ? Tu ajoutes ensuite le paramètre à la main ? Normalement, de mémoire, l'ajout de paramètre se fait en ajoutant des critères de sous-cube sur le haut du générateur, et tout à droite, en attribuant la valeur à un paramètre. Est-ce comme ça que tu génères ton paramètre ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 43
    Points : 31
    Points
    31
    Par défaut
    Bah c'est comme ça que j'essayai mais ça ne fonctionnait pas; Bon c'est pas grave. J'ai trouvé une ruse. Je ne passe plus par mon cube. Je passe directement sur l'entrepôt et je requête à la main sur ma table de fait en SQL. C'est barbare, je n'exploite pas l'outil à fond mais au moins, ça fait tout ce que je veux et le client est content (et moi aussi... sauf que je galère avec mes vieux rouages SQL)

    Merci de ton aide en tout cas Rudib

Discussions similaires

  1. Requete MDX avec Parametre
    Par bacomina dans le forum iReport
    Réponses: 0
    Dernier message: 06/10/2009, 12h25
  2. Requete SQL concernant intervalle de temps
    Par WELCOMSMAIL dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/06/2008, 12h42
  3. [reporting service] String.Format avec 4 virgules
    Par oolon dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/03/2007, 10h08
  4. [Reporting Services] Un rapport avec nom de champs repetitif
    Par Nadaa dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/03/2007, 15h04
  5. requete MDX avec Analysis services
    Par delphi+ dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/09/2006, 17h29

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