Power Query - Come calcolare il rango di una colonna al variare del mese

Anonimo
2025-04-10T09:26:56+00:00

Ciao, sono Carlo, uso excel per lavoro e sto usando office 365 enterprise, excel sul pc aziendale

In power query vorrei calcolare il rango della colonna "fatturato" per ogni mese contenuto nella colonna "mese" dove 1 è quella maggiore per il mese selezionato.

Qualcuno mi può aiutare ? credo che la via da seguire sia quella di usare una colonna calcolata.

grazie

Microsoft 365 e Office | Excel | Per il lavoro | Altro

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

15 risposte

Ordina per: Più recente
  1. Anonimo
    2025-04-18T09:00:41+00:00

    Ciao EleuterioTedeschi e grazie.

    Ho sistemato permesso di accesso al file

    file_esempio_sistemato

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Eleuterio Tedeschi 18,750 Punti di reputazione Moderatore volontario
    2025-04-18T08:35:08+00:00

    Mi potresti aiutare gentilmente ?

    Si, ma il file richiede l'accesso, mettilo disponibile in sola visualizzazione,

    grazie.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2025-04-18T07:30:44+00:00

    Ciao EleuterioTedeschi scusami per il delay della risposta.

    Provo a spiegarti la mia esigenza e vediamo se prima di tutto è fattibile, con il csv allegato

    Ho bisogno di avere nel db una colonna aggiuntiva che calcoli il rango della colonna TOT_FT_NETTO (dal più grande al più piccolo) secondo le date della colonna "annomese"

    (ordinate dalla più recente a quella meno recente)

    Sinceramente non capisco cosa modificare e cosa tenere dal mio / tuo codice

    Mi potresti aiutare gentilmente ?

    esempio_2_reale

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Eleuterio Tedeschi 18,750 Punti di reputazione Moderatore volontario
    2025-04-14T13:54:15+00:00

    let

    TAB_FAT_MOD = let

    Origine = Csv.Document(File.Contents("c:\TAB_FAT_MOD.csv"),

    [Delimiter=";", Columns=39, Encoding=1252, QuoteStyle=QuoteStyle.None]),

    #"Intestazioni alzate di livello" = Table.PromoteHeaders(Origine, [PromoteAllScalars=true]),

    #"Modificato tipo" = Table.TransformColumnTypes(#"Intestazioni alzate di livello",{{"annomese", Int64.Type}, {"ANNO", type text}, {"MESE", type text}, {"IMP_TOT_CTRL", type number}}),

    #"Modificato tipo1" = Table.TransformColumnTypes(#"Modificato tipo",{{"MESE", type text}, {"ANNO", Int64.Type}, {"PR_INCENT", type number}, {"ACC_FIRR", type number}, {"ACC_ENASARCO", type number}, {"LIQ_ISC_PNC", type number},

    {"LIQ_FIRR", type number}, {"TOT_FT_NETTO", type number}, {"TOT_FT_LORDO", type number}, {"annomese", Int64.Type}}),

    #"Ordinate righe" = Table.Sort(TAB_FAT_MOD,{{"annomese", Order.Ascending}, {"TOT_FT_NETTO", Order.Descending}}),

    #"Merge" = Table.NestedJoin(Formatta, {"ANNOMESE"}, tblOrder, {"ANNOMESE"}, "tbl2", JoinKind.LeftOuter),

    #"Rango" = Table.AddColumn(Merge, "Rango", each List.PositionOf([tbl2][TOT_FT_NETTO], [TOT_FT_NETTO])+1),

    #"Fine" = Table.RemoveColumns(Rango,{"tbl2"})

    in

    #"Ordinate righe"

    dove sbaglio ?

    A mischiare il mio codice con il tuo, infatti il passaggio Formatta non esiste ed inoltre devi considerare che #"Rango" non è Rango ...
    Se poi aggiungi anche il fatto che il doppio let iniziale manda sicuramente tutto in confusione, ti rendi conto del perché non ritorna i risultati sperati.

    Ciao.
    P.S.
    Se al posto di un file Excel mi avessi fornito il csv, sarebbe stato (per te) molto più semplice

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2025-04-14T07:19:05+00:00

    Ma funziona senza nessuna modifica:
    Immagine

    Immagine
    Non riesci?

    Ciao.

    @EleuterioTedeschi Ciao e grazie innanzi tutto per l'aiuto

    ho provato ad applicare il tuo suggerimento al caso concreto ma non crea la colonna con il rango.

    voglio il rango per ogni ANNOMESE in ordine crescente del campo TOT_FT_NETTO in ordine decrescente

    let

    TAB\_FAT\_MOD = let 
    
    Origine = Csv.Document(File.Contents("c:\TAB\_FAT\_MOD.csv"), 
    
    [Delimiter=";", Columns=39, Encoding=1252, QuoteStyle=QuoteStyle.None]), 
    
    #"Intestazioni alzate di livello" = Table.PromoteHeaders(Origine, [PromoteAllScalars=true]), 
    
    #"Modificato tipo" = Table.TransformColumnTypes(#"Intestazioni alzate di livello",{{"annomese", Int64.Type}, {"ANNO", type text}, {"MESE", type text}, {"IMP\_TOT\_CTRL", type number}}), 
    
    #"Modificato tipo1" = Table.TransformColumnTypes(#"Modificato tipo",{{"MESE", type text}, {"ANNO", Int64.Type}, {"PR\_INCENT", type number}, {"ACC\_FIRR", type number}, {"ACC\_ENASARCO", type number}, {"LIQ\_ISC\_PNC", type number},  
    

    {"LIQ_FIRR", type number}, {"TOT_FT_NETTO", type number}, {"TOT_FT_LORDO", type number}, {"annomese", Int64.Type}}),

    #"Ordinate righe" = Table.Sort(TAB_FAT_MOD,{{"annomese", Order.Ascending}, {"TOT_FT_NETTO", Order.Descending}}),

    #"Merge" = Table.NestedJoin(Formatta, {"ANNOMESE"}, tblOrder, {"ANNOMESE"}, "tbl2", JoinKind.LeftOuter), 
    

    #"Rango" = Table.AddColumn(Merge, "Rango", each List.PositionOf([tbl2][TOT_FT_NETTO], [TOT_FT_NETTO])+1),

    #"Fine" = Table.RemoveColumns(Rango,{"tbl2"})

    in

    #"Ordinate righe"
    

    dove sbaglio ? grazie

    La risposta è stata utile?

    0 commenti Nessun commento