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

Power BI Discussion :

recuperer le nombre de jour d'un mois


Sujet :

Power BI

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2020
    Messages : 10
    Points : 12
    Points
    12
    Par défaut recuperer le nombre de jour d'un mois
    Bonjour,

    afin de faire des calculs d'efficacité mensuel, sur 1,2 ou X mois, j'ai besoin de recuperer le nombre de jour par mois.
    J'ai une table de date qui est lié à ma table de donnée.

    Pour clarifier mon besoin: si je coche le mois de janvier dans mon interface , je veux recuperer 31.
    Si je coche janvier et fevrier je veux recuperer 31+29 etc....

    merci pour votre aide.

  2. #2
    Membre actif
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2016
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 184
    Points : 275
    Points
    275
    Par défaut
    Bonjour,

    Avec ce code M qui te génère une table calendrier, tu as dans la colonne "jour", le numéro du jour de chaque ligne pour chaque mois. On peut donc imaginer un max de cette colonne pour un mois donné, ou pour x mois donnés, etc.
    Ou une colonne qui vient récupérer la valeur maximale pour chaque mois si la totalité de la table ne t'intéresse pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    let
        Source = "",
        Calendrier = let CreationDateTable = (#"Date Début" as date, #"Date Fin" as date) as table =>
        let
          #"Nombre de jours" = Duration.Days(Duration.From(#"Date Fin" - #"Date Début")),
          #"Source Calculée dans liste" = List.Dates(#"Date Début",#"Nombre de jours",#duration(1,0,0,0)),
          #"Transfrome Liste en Table" = Table.FromList(#"Source Calculée dans liste", Splitter.SplitByNothing()),
          ChangedType = Table.TransformColumnTypes(#"Transfrome Liste en Table",{{"Column1", type date}}),
          #"RenamedColumn en Date" = Table.RenameColumns(ChangedType,{{"Column1", "Date"}}),
          #"Insert Année" = Table.AddColumn(#"RenamedColumn en Date", "Année", each Date.Year([Date])),
          #"Insert Trimestre" = Table.AddColumn(#"Insert Année", "Trimestre", each Date.QuarterOfYear([Date])),
          #"Insert Mois" = Table.AddColumn(#"Insert Trimestre", "Mois", each Date.Month([Date])),
          #"Insert Jour dans mois" = Table.AddColumn(#"Insert Mois", "Jour", each Date.Day([Date])),
          #"Insert Date AAAAMMJJ" = Table.AddColumn(#"Insert Jour dans mois", "Date AAAAMMJJ", each [Année] * 10000 + [Mois] * 100 + [Jour]),
          #"Insert Mois Libellé" = Table.AddColumn(#"Insert Date AAAAMMJJ", "Mois libellé", each Date.ToText([Date], "MMMM", "French"), type text),
          #"Insert Mois MMM Année" = Table.AddColumn(#"Insert Mois Libellé", "Mois et Année", each Date.ToText([Date], "MMM", "French") & " " & Number.ToText([Année])),
          #"Insert Trimestre Année" = Table.AddColumn(#"Insert Mois MMM Année", "Trimestre Année", each "T" & Number.ToText([Trimestre]) & " " & Number.ToText([Année])),
          #"Insert Jour Semaine" = Table.AddColumn(#"Insert Trimestre Année", "Jour Semaine", each Date.DayOfWeek([Date])),
          #"Insert Jour Libellé" = Table.AddColumn(#"Insert Jour Semaine", "Jour Libellé", each Date.ToText([Date], "dddd", "French"), type text),
          #"Insert Date Fin Semaine" = Table.AddColumn(#"Insert Jour Libellé", "Semaine Date Fin", each Date.EndOfWeek([Date]), type date),
          #"Insert Date Début Semaine" = Table.AddColumn(#"Insert Date Fin Semaine", "Semaine Date Début", each Date.StartOfWeek([Date]), type date),
          #"Insert Semaine" = Table.AddColumn(#"Insert Date Début Semaine", "Semaine", each Date.WeekOfYear([Date], Day.Monday), type text),
          #"Insert Date Début Mois" = Table.AddColumn(#"Insert Semaine", "Date Début Mois", each Date.StartOfMonth([Date]), type date),
          #"Insert Date Fin Mois" = Table.AddColumn(#"Insert Date Début Mois", "Date Fin Mois", each Date.EndOfMonth([Date]), type date),
          #"Insert Semestre" = Table.AddColumn(#"Insert Date Fin Mois", "Semestre", each "S" & (if Date.Month([Date]) <= 6 then "1" else "2") & " " & Number.ToText([Année]), type date),
          #"Type modifié" = Table.TransformColumnTypes(#"Insert Semestre",{{"Année", Int64.Type}, {"Trimestre", Int64.Type}, {"Mois", Int64.Type}, {"Jour", Int64.Type}, {"Date AAAAMMJJ", Int64.Type}, {"Mois libellé", type text}, {"Mois et Année", type text}, {"Trimestre Année", type text}, {"Jour Semaine", Int64.Type}, {"Jour Libellé", type text}, {"Semaine Date Fin", type date}, {"Semaine Date Début", type date}, {"Semaine", Int64.Type}, {"Date Début Mois", type date}, {"Date Fin Mois", type date}, {"Semestre", type text}})
        in
          #"Type modifié"
      in
        CreationDateTable
    in
        Calendrier

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Avril 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2020
    Messages : 10
    Points : 12
    Points
    12
    Par défaut solution a base de datedif
    bonjour,

    merci pour ta proposition de table.
    De mon coté j'ai trouvé une autre solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATEDIFF(STARTOFMONTH('Calendar'[Date]);ENDOFMONTH('Calendar'[Date]);HOUR)+24
    bien penser à ajouter 24 car sinon il manque toujours le dernier jour si on veut des heures.

    voila si ca aide d'autre tant mieux

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

Discussions similaires

  1. Récupérer le nombre de jours d'un mois ?
    Par Zebulon777 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 07/10/2017, 12h55
  2. Réponses: 4
    Dernier message: 28/05/2007, 19h38
  3. Fonction qui compte le nombre de jours ouvrés par mois
    Par griese dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/07/2006, 15h32
  4. [Dates] Calculer le nombre de jours dans le mois suivant...
    Par Life Hunter dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2006, 00h01
  5. [CR]nombre de jours dans un mois donné
    Par liberio dans le forum Formules
    Réponses: 2
    Dernier message: 20/04/2004, 16h54

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