Pagina 1 di 1

Campo Calcolato Power Pivot in Power Query

Inviato: lun 5 ott 2020, 16:33
da kyashan72
Buongiorno a tutti, chiedo il Vs. aiuto, è possibile portare una colonna di Power Pivot di un campo calcolato in Power query? Lo chiedo perché ho visto che quello che mi servirebbe è possibile con la funzione Ceiling (Dax) che equivale ad arrotonda.eccesso in Excel, ma non è possibile farlo con Power query, almeno io non ci sono riuscito cambiando anche il ragionamento.
Nello specifico avrei delle fasce di peso fisse fino ai kg. 100, oltre questo limite invece mi servirebbe che il peso si arrotondasse di 10 in 10 oppure di 50 in 50. (Es. kg. 101 dovrebbe essere arrotondato a kg. 110 oppure kg. 150 a seconda del caso)
Ci sono riuscito in power query fino ai 100 kg. con la colonna condizionale, mentre oltre i kg. 100 con la funzione Ceiling in Dax.
Spero di essere stato chiaro e vi ringrazio come sempre per qualsiasi aiuto possiate darmi.

Campo Calcolato Power Pivot in Power Query

Inviato: lun 5 ott 2020, 18:30
da Andrea90
Ciao kyashan72,

Power Pivot usa il linguaggio Dax e Power Query il linguaggio M pertanto la risposta alla tua prima domanda sarebbe no.

se però carichi qualche dato demo in un file excel e ci mostri quale sarebbe il risultato sperato possiamo darci un’occhiata.

A presto,

Andrea

Campo Calcolato Power Pivot in Power Query

Inviato: mar 6 ott 2020, 9:24
da kyashan72
Ciao Andrea, grazie per il supporto.
Nel file ho indicato due tabelle di esempio. In quella a dx sono indicate le fasce dei pesi fino ai kg. 100 e dopo un arrotondamento di 10 in 10 oppure 50 in 50 a seconda del cliente.
Nella prima a sx invece ho indicato i pesi e cosa dovrebbe indicarmi come peso tassato, ho indicato sia la colonna con arrotondamento di 10 che quella di 50 in modo da farti vedere il risultato che dovrebbe darmi.
Grazie ancora

Campo Calcolato Power Pivot in Power Query

Inviato: mar 6 ott 2020, 9:41
da Enrico Galli
Ciao. Purtroppo dal tuo esempio non è che io abbia capito bene cosa vuoi ottenere alla fine, comunque quella che segue è la formula per ottenere, in Power Query, il seguente algoritmo, che è quello che usi per la colonna "Arr 50":
- Se [Peso Lordo] < 5 considera 5
- Se [Peso Lordo] > 5 e < 100, arrotonda alla decina più vicina
- Se [Peso Lordo] > 100, arrotonda alla cinquantina superiore

Codice: Seleziona tutto

  #"Inserita divisione intera" = Table.AddColumn(
      #"Modificato tipo", 
      "Divisione intera", 
      each 
        if [Peso Lordo] < 5 then 
          5
        else if [Peso Lordo] < 100 then 
          Number.Round([Peso Lordo], - 1)
        else 
          50 + 50 * Number.IntegerDivide([Peso Lordo] - 1, 50), 
      Int64.Type
    )
Fammi sapere :wave:

Campo Calcolato Power Pivot in Power Query

Inviato: mar 6 ott 2020, 11:36
da Enrico Galli
Una funzione personalizzata che accetta come argomenti il numero da arrotondare e il livello di significatività potrebbe essere questa:

Codice: Seleziona tutto

// fxCeiling
(num as number, mult as number) as number =>
let
    Ceiling = mult + mult * Number.IntegerDivide(num - (mult/100), mult)
in
    Ceiling

Campo Calcolato Power Pivot in Power Query

Inviato: mar 6 ott 2020, 15:59
da kyashan72
Ciao Enrico, grazie mille. Mi devi scusare ma nel file avevo commesso un errore, 12 doveva diventare in entrambe le colonne 20 e non 10. Comunque con il tuo aiuto sono riuscito a risolvere il passaggio che mi aveva bloccato. La prima soluzione invece mi dava un errore, non so se sbagliavo io qualcosa.
Comunque grazie ancora, sei davvero fenomenale.