Toutes mes réponses sur les forums

6 sujets de 1 à 6 (sur un total de 6)
  • Auteur
    Articles
  • en réponse à : Calculs basés sur 2 tables de temps #135286
    keveen.vigie
    Participant

    Bonjour Xavier

    Ci-joint un aperçu de mes tables.

    Dans mon rapport tous les affichages se font sur la base du Fiscal Calendar (au niveau Year/quarter & Month). Les valeurs afficher et calculées sont correctes.

    Par contre mon problème vient pour le calcul du revenue en mois roulants. Je me base sur ce code:

    RollingAverage =

    VAR NumOfMonths = ‘_Rolling Average Period'[Valeur _Rolling Average Period]
    VAR LastCurrentDate = LASTDATE( ‘Calendar Fiscal'[TFS Date] )
    VAR Period = DATESINPERIOD ( ‘Calendar Fiscal'[TFS Date], LastCurrentDate, – NumOfMonths, MONTH )

    VAR Result =
    CALCULATE(
    AVERAGEX(
    SUMMARIZE(
    ‘Calendar Fiscal’,
    ‘Calendar Fiscal'[TFS Year],
    ‘Calendar Fiscal'[TFS Month Number ]),
    [Revenues_Period]),

    Period
    )
    VAR LastDateWithSale = MAX (‘CDD – Invoiced Sales'[Posting Date])
    VAR FirstVisibleDate = MINX(Period,’Calendar Fiscal'[TFS Date])

    RETURN

    IF (FirstVisibleDate <= LastDateWithSale , Result)

    Et là j’ai des discordances sur mes visuels (exemple capture 2), où là j’ai mis mon rolling average sur 1 mois, je devrais donc avoir les mêmes résultats entre “Renevue_Period” et “Rolling Average”…. mais ce n’est pas le cas.

    Je ne vois pas où est la problématique… bon après je suis débutant sous PowerBI 😉

    • Cette réponse a été modifiée le il y a 4 mois et 2 semaines par keveen.vigie.
    Attachments:
    You must be logged in to view attached files.
    en réponse à : Faire calcul conditionnel selon 2 tables #107929
    keveen.vigie
    Participant

    Super, un grand merci car la formule restait obscure pour moi 😉

    en réponse à : Faire calcul conditionnel selon 2 tables #107629
    keveen.vigie
    Participant

    @Daniel

    Cela fonctionne nickel… sans faute de frappe de ma part 😉

    merci beaucoup

    en réponse à : Faire calcul conditionnel selon 2 tables #107606
    keveen.vigie
    Participant

    @Eric:

    Par contre ta formule ne recupère le taux que pour les lignes USD, du coup je dois embriquer les IF pour faire tous les cas de figure?

    A moins qu’il existe un équivalent de select Case en VB.

    en réponse à : Faire calcul conditionnel selon 2 tables #107315
    keveen.vigie
    Participant

    Bonjour vous deux


    @Daniel
    Blanc:
    #”Montant en USD” = AjoutColMontantUSD{0}[Net Sales USD] doit être une erreur de ma part… J’avais fait des essais et c’est surement un reste.
    Mais même sans j’ai une erreur…
    Le truc c’est que je ne comprends pas la ligne suivante:

    Table.AddColumn(#”Type modifié”, “Net Sales USD”, each [Net Sales] * Table.SelectRows(#”Official Rate Fx”,
    (varCalc) => varCalc[Currency]=[Doc Currency]
    and varCalc[Year]=Date.Year([Posting Date] ))[Rate]{0}, type number)

    Donc compliquer de trouver mon erreur.
    Pour info:
    [Net Sales], [Posting Date] et [Doc Currency] sont des champs de ma table “Invoiced Sales”
    [Year], [Currency], [Rate] sont des champs de ma table “Official Rate Fx”

    Par contre à partir de la ligne (varCalc)…. je ne pige rien à la formule.


    @Eric
    St-Croix:
    Je vais faire des essais supplémentaires du coup et vous tiens informé.

    en réponse à : Faire calcul conditionnel selon 2 tables #107233
    keveen.vigie
    Participant

    Hello

    Merci de vous pencher sur mon soucis.


    @Eric
    : ta solution ne peut pas convenir car elle ne prend pas en compte l’année (taux variable selon l’année)


    @Daniel
    :

    J’ai essayé d’adapter ton exemple à mon modèle mais j’ai une erreur:

    let
    Source = Excel.Workbook(Web.Contents(“https://XXXXXX.sharepoint.com/XXXXX/Petra%20report.xlsx&#8221;), null, true),
    #”Invoiced Sales_Sheet” = Source{[Item=”Invoiced Sales”,Kind=”Sheet”]}[Data],
    #”Changed Type” = Table.TransformColumnTypes(#”Invoiced Sales_Sheet”,{{“Column1”, type text}, {“Column2”, type text}, {“Column3”, type text}, {“Column4”, type text}, {“Column5”, type text}, {“Column6”, type text}, {“Column7”, type text}, {“Column8”, type text}, {“Column9”, type text}, {“Column10”, type text}, {“Column11”, type text}, {“Column12”, type text}, {“Column13”, type text}, {“Column14”, type text}, {“Column15”, type text}, {“Column16”, type text}, {“Column17”, type text}, {“Column18”, type text}, {“Column19”, type any}, {“Column20”, type any}, {“Column21”, type any}, {“Column22″, type text}}),
    #”Removed Top Rows” = Table.Skip(#”Changed Type”,3),
    #”Promoted Headers” = Table.PromoteHeaders(#”Removed Top Rows”, [PromoteAllScalars=true]),
    #”Dernières lignes supprimées” = Table.RemoveLastN(#”Promoted Headers”,2),
    #”Changed Type1″ = Table.TransformColumnTypes(#”Dernières lignes supprimées”,{{“Sales Organization”, type text}, {“Distribution Channel”, type text}, {“Product Hierarchy Top Level”, type text}, {“Plant”, type text}, {“Invoice Number”, Int64.Type}, {“Billing Type”, type text}, {“Release to Accounts Status”, type text}, {“Posting Date”, type date}, {“Sold To”, Int64.Type}, {“Sold To Name”, type text}, {“Sold To Country”, type text}, {“Ship To”, Int64.Type}, {“Ship-To Name”, type text}, {“Ship To Country”, type text}, {“Material Code”, type text}, {“Material Description”, type text}, {“Batch”, type text}, {“Profit Centre”, Int64.Type}, {“Quantity in Base UOM”, Int64.Type}, {“Net Sales”, type number}, {“Net Sales in doc currency”, type number}, {“Doc Currency”, type text}}),
    #”Colonne fusionnée insérée” = Table.AddColumn(#”Changed Type1″, “Customer”, each Text.Combine({Text.From([Sold To], “fr-FR”), [Sold To Name]}, ” – “), type text),
    #”Type modifié” = Table.TransformColumnTypes(#”Colonne fusionnée insérée”,{{“Sold To”, type text}}),
    #”AjoutColMontantUSD” = Table.AddColumn(#”Type modifié”, “Net Sales USD”, each [Net Sales] * Table.SelectRows(#”Official Rate Fx”,
    (varCalc) => varCalc[Currency]=[Doc Currency]
    and varCalc[Année]=Date.Year([Posting Date] ))[Rate]{0}, type number),
    #”Montant en USD” = AjoutColMontantUSD{0}[Net Sales USD]
    in
    #”Montant en USD”

    Il n’y a pas assez d’élément dans l’énumération pour terminer l’opération….

6 sujets de 1 à 6 (sur un total de 6)