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. Eleuterio Tedeschi 18,750 Punti di reputazione Moderatore volontario
    2025-04-18T17:30:55+00:00

    il file ha 260k righe

    Immagino che con Power Query non puoi fare molto di più per l'esigenza che manifesti.

    In questi casi, ma supera l'aiuto che chiedi nel forum, andrebbe tentata la strada della cristallizzazione o frammentazione del dato ed eventualmente l'uso del DAX, ma ripeto: vai oltre l'aiuto per esaudire la tua richiesta iniziale.

    Considera che esistono strumenti dedicati: Excel è poliedrico, però il saper far tutto vuol dire non essere verticali su determinate esigenze e cominciano a volerci competenze specifiche che, perdonami, non sono le tue, vista la difficoltà ad adattare un codice già scritto.

    Non vuol essere denigratorio e spero vivamente di sbagliarmi, mi sono basato esclusivamente su questa discussione e mi scuso se posso aver mancato di tatto,

    ciao e grazie in anticipo per la comprensione.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2025-04-18T13:49:23+00:00

    casanmaner grazie per la risposta. Si, il file ha 260.k righe

    esistono due file uguali sempre collegati senza importarli, solo collegamento.

    quello "modificato" quando l'altro ha fatto l'aggiornamento è ancora la che calcola un centinaio di righe ...

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2025-04-18T13:24:59+00:00

    Ciao,

    ho fatto una prova con il tuo file di esempio e il codice M di Eleuterio e l'aggiornamento dei dati è praticamente istantaneo.

    Il file di prova ha 80 righe di dati.

    Forse il file originale contiene un numero molto ma molto maggiore di record?

    ciao

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2025-04-18T12:37:01+00:00

    EleuterioTedeschi grazie sembra funzionare, ma per aggiornarsi ci mette più di 10 minuti..

    credo che non sia normale.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Eleuterio Tedeschi 18,750 Punti di reputazione Moderatore volontario
    2025-04-18T10:01:57+00:00

    Adattandolo al tuo csv (attenzione a cambiare il percorso ed il nome del file)
    let

    Origine = Csv.Document(File.Contents("**C:\TEMP\esempip\_2.csv**"),[Delimiter=";", Columns=34, Encoding=1252, QuoteStyle=QuoteStyle.None]), 
    
    Intestazioni = Table.PromoteHeaders(Origine, [PromoteAllScalars=true]), 
    
    Formatta = Table.TransformColumnTypes(Intestazioni,{{"NOME", type text}, {"DATAASSUNZIONE", type date}, {"MATRICOLA", Int64.Type}, {"annomese", Int64.Type}, {"ANNO", Int64.Type}, {"MESE", Int64.Type}, {"TipoContratto", type text}, {"MIN\_GARAN", type number}, {"AVVIAM", type number}, {"MANT\_UPFRONT", type number}, {"MANT\_RUNNING", type number}, {"MANT\_SERVIZI", type number}, {"MANT\_VALORE", type number}, {"PR\_ACQUI", type number}, {"PR\_COMPOR", type number}, {"PR\_INCENT", type number}, {"PR\_BON\_FIRMA", Int64.Type}, {"PR\_BON\_FEDEL", Int64.Type}, {"ANTICIP\_RIMB", Int64.Type}, {"ALTRO", Int64.Type}, {"ACC\_FIRR", type number}, {"ACC\_ENASARCO", type number}, {"LIQ\_ISC\_PNC", type number}, {"LIQ\_FIRR", Int64.Type}, {"IVA", Int64.Type}, {"ImportoRA", type number}, {"ImportoEnasarco", type number}, {"IMP\_TOT\_CTRL", type number}, {"annomesedt", type date}, {"TOT\_FT\_LORDO", type number}, {"TOT\_FT\_NETTO", type number}, {"DataDimissioni", type date}, {"COD\_COORDINATORE", type text}, {"Coordinatore", type text}}), 
    
    tblOrder = Table.Sort(Formatta,{{"TOT\_FT\_NETTO", Order.Descending}, {"annomese", Order.Ascending}}), 
    
    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

    Fine  
    

    Ciao.

    La risposta è stata utile?

    0 commenti Nessun commento