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

Microsoft BI Discussion :

Requête d'analyse croisée


Sujet :

Microsoft BI

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 272
    Points : 114
    Points
    114
    Par défaut Requête d'analyse croisée
    Bonjour à tous, comment allez-vous??

    Je poste ma question ici sur le conseil d'un d'entre-vous, je l'avais déjà postée sur un autre forum! Vous m'excuserez je l'espère mais je vais me contenter d'un vulgaire "copier-coller".

    Je sollicite votre aide afin de créer une requêtes. J'aimerais extraire des quantités de commandes par articles et par semaine mais en indiquant une valeur pour chaque semaine de l'année et pour chaque article! Et non pas uniquement lorsque des données existent!

    Je me rends compte que mon explication n'est pas très claire! Je réssaie: j'aimerais une liste de tous mes articles avec leur consommation et ce par semaine. Le résultat espéré devrait plus ou moins ressembler à ça :

    Article sem_01 sem_02 sem_03 sem_04 ... sem_52(53)

    ART_1 ..........................................................................
    ART_2 ..........................................................................
    ...
    ART_n ..........................................................................

    pour les gens qui connaissent, en fait j'aimerais créer sous SQL Server une requête de type Analyse croisée de Access!!

    Voici la requête que j'aimerais transformer, adapter sous cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT     dbo.rq_gpao_cadences.art_cod, dbo.rq_gpao_cadences.cad_deldem, SUM(dbo.rq_gpao_cadences.cad_qtecde) 
                          AS qte_cmde
    FROM         dbo.rq_gpao_cadences INNER JOIN
                          dbo.rq_gpao_commandes_clients ON dbo.rq_gpao_cadences.cde_num = dbo.rq_gpao_commandes_clients.cde_num
    WHERE     (dbo.rq_gpao_cadences.cad_deldem > 200742) AND (dbo.rq_gpao_cadences.art_cod LIKE '3%') AND 
                          (dbo.rq_gpao_commandes_clients.cde_offcde = 'C')
    GROUP BY dbo.rq_gpao_cadences.art_cod, dbo.rq_gpao_cadences.cad_deldem
    ORDER BY dbo.rq_gpao_cadences.art_cod, dbo.rq_gpao_cadences.cad_deldem
    Voili, voilou, et merci d'avance

    Julius

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Article sem_01 sem_02 sem_03 sem_04 ... sem_52(53)
    Bizarre, je l'aurais plus vu dans l'autre sens, ne serait-ce que dans un souci de lisibilité. Si vous faites votre table comme cela, vous allez passer un temps fou à ajouter des colonnes, mais imaginez en plus que le lecteur de votre rapport ait l'envie de l'imprimer ...
    Et pour les semaines de l'année qui ne sont pas encore écoulées, vous allez afficher quoi dans la cellule correspondante ?

    Donnez-vous moins de travail, ce sera de surcroît plus propre.
    Avec l'aide de la fonction DATEPART, on peut, entre autres, récupérer le numéro de la semaine dans l'année :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT DATEPART(week, COMMANDES.date)
    		CADENCES.art_cod,
    		CADENCES.cad_deldem,
    		SUM(CADENCES.cad_qtecde) AS qte_cmde
    FROM dbo.rq_gpao_cadences CADENCES
    INNER JOIN dbo.rq_gpao_commandes_clients COMMANDES ON CADENCES.cde_num = COMMANDES.cde_num
    WHERE CADENCES.cad_deldem > 200742
    AND CADENCES.art_cod LIKE '3%'
    AND COMMANDES.cde_offcde = 'C'
    GROUP BY DATEPART(week, COMMANDES.date),
    		CADENCES.art_cod,
    		CADENCES.cad_deldem
    Il n'y a pas lieu de mettre la clause ORDER BY dans votre requête, RS peut le faire à la place de SQL Server, pour qui c'est bien plus coûteux.
    Vous pouvez créer l'ordre dans l'onglet tri des propriétés de votre tableau.

    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 272
    Points : 114
    Points
    114
    Par défaut
    Bonjour,

    Dsl pour le retard de ma réponse... j'étais en week-end!

    Sinon je vous remercie pour votre réponse... je vois y jeter un oeil de plus près et vous redonne des news.

    Julius

Discussions similaires

  1. Requête pour cumuler une requête d'analyse croisée
    Par helouadi dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/10/2007, 16h00
  2. Requête d'analyse croisée + VBA
    Par sophiesallee dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/08/2007, 10h02
  3. Union de 2 requêtes d'analyse croisée
    Par Bqrt37 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 27/06/2007, 09h20
  4. Problème dans requête pour analyse croisée
    Par benjisan dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 14/06/2007, 09h54
  5. Etat issu d'une requête d'analyse croisée
    Par loutsky dans le forum Access
    Réponses: 3
    Dernier message: 18/03/2006, 16h19

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