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

SSRS Discussion :

Calcul nombre de lundi dans un intervale de date [2008R2]


Sujet :

SSRS

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mars 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Mars 2014
    Messages : 7
    Points : 12
    Points
    12
    Par défaut Calcul nombre de lundi dans un intervale de date
    Bonjour à tous,

    J'espère que vous allé pouvoir m'aider.

    J'utilise Report Builder (RB) pour créer des rapports dans SSRS. Je souhaite récupérer le nombre de lundi ou mardi par exemple dans un intervalle de date donné en paramètres @DateDebut @DateFin.
    Je récupère déjà le numero du jour de semaine dans la requête en utilisant la commande DATEPART(DW,DATECR) AS JOUR, je veux ensuite récupérer le nombre de chaque lundi, mardi , .... de l'intervalle date en utilisant les expressions DAX de RB, ca pourrais donner ceci:

    Exple DateDebut:01/06/2015 DateFin:18/06/2015

    Lundi x 3
    Mardi x 3
    Mercredi x 3
    Jeudi x 4
    Vendredi x 3
    Sam x 3
    Dim x 3
    ---
    Ps: J'ai tenté COUNT (JOUR) , mais ca me donne un chiffre de 398 au lieu de 3
    J'utilise les jours en entête de colonnes et en ligne je récupère du CA
    Merci d'avance pour votre aide
    ......

  2. #2
    Membre éprouvé
    Avatar de Elros
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2009
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 403
    Points : 912
    Points
    912
    Billets dans le blog
    9
    Par défaut
    Salut,

    En SQL cela donne ceci (trouvable facilement sur la toile) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    declare @DateDebut datetime= '01/06/2015' 
    declare @DateFin datetime = '18/06/2015' 
     
    select 
     datediff(day, -7, @DateFin)/7-datediff(day, -6, @DateDebut)/7 AS Lundi,
     datediff(day, -6, @DateFin)/7-datediff(day, -5, @DateDebut)/7 AS Mardi,
     datediff(day, -5, @DateFin)/7-datediff(day, -4, @DateDebut)/7 AS Mercredi,
     datediff(day, -4, @DateFin)/7-datediff(day, -3, @DateDebut)/7 AS Jeudi,
     datediff(day, -3, @DateFin)/7-datediff(day, -2, @DateDebut)/7 AS Vendredi,
     datediff(day, -2, @DateFin)/7-datediff(day, -1, @DateDebut)/7 AS Samedi,
     datediff(day, -1, @DateFin)/7-datediff(day, 0, @DateDebut)/7 AS Dimanche
    Elros
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton

    Venez faire un petit tour sur mon blog : Elros - Bienvenue dans le monde de la Business Intelligence

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mars 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Mars 2014
    Messages : 7
    Points : 12
    Points
    12
    Par défaut
    Bonjour Elros,

    Merci pour ta réponse, j'ai peut être mal cherché sur le forum, en tout cas ca repond à ma question, j'ai juste modifier en utilisant un case pour intégrer un paramètre date création et avoir un seul champ NbJour,
    Merci en tous ca pour ton aide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT      ETB
    			  ,TRANCHE_HORAIRE
    			  ,DATECR 
    			  ,CASE WHEN DATEPART(DW,DATECR)=1 THEN DATEDIFF(DAY, -7, @DateFin)/7-DATEDIFF(DAY, -6, @DateDebut)/7  
    			           WHEN DATEPART(DW,DATECR)=2 THEN DATEDIFF(DAY, -6, @DateFin)/7-DATEDIFF(DAY, -5, @DateDebut)/7 
    				   WHEN DATEPART(DW,DATECR)=3 THEN DATEDIFF(DAY, -5, @DateFin)/7-DATEDIFF(DAY, -4, @DateDebut)/7 
    				   WHEN DATEPART(DW,DATECR)=4 THEN DATEDIFF(DAY, -4, @DateFin)/7-DATEDIFF(DAY, -3, @DateDebut)/7 
    				   WHEN DATEPART(DW,DATECR)=5 THEN DATEDIFF(DAY, -3, @DateFin)/7-DATEDIFF(DAY, -2, @DateDebut)/7 
    				   WHEN DATEPART(DW,DATECR)=6 THEN DATEDIFF(DAY, -2, @DateFin)/7-DATEDIFF(DAY, -1, @DateDebut)/7 
    				   WHEN DATEPART(DW,DATECR)=7 THEN DATEDIFF(DAY, -1, @DateFin)/7-DATEDIFF(DAY, 0, @DateDebut)/7 END AS NbJour

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

Discussions similaires

  1. [Débutant] calculer nombre des 1 dans une matrice
    Par angel_tn dans le forum Images
    Réponses: 3
    Dernier message: 02/05/2010, 07h33
  2. [XL-2007] Calculer le nombre d'heure dans un intervalle de temps
    Par sofianeb dans le forum Excel
    Réponses: 2
    Dernier message: 13/04/2010, 16h06
  3. Réponses: 4
    Dernier message: 29/09/2008, 17h34
  4. Réponses: 7
    Dernier message: 17/06/2008, 21h58
  5. Nombres de lundis dans un mois.
    Par Celelibi dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 24/09/2005, 16h50

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