Risolto Risolvere un errore su un passaggio di trasformazione dati

Claudio MBM

Utente junior
Original poster
15 Giugno 2023
29
2
3
2019
Buongiorno a tutti,
mi sa che mi sto perdendo in un bicchiere d'acqua...
Pover query, in una tabella devo sostituire tutte le righe della colonna "Product" con un valore specifico costituito da testo fisso e valori di altre colonne
ho impostato la seguente formula:
= Table.TransformColumns(#"Colonna condizionale aggiunta", {"Product", each if _ <> null then Text.Combine({[Nazione], "IVA", [Cod]}, ", ") else null})
che pero' nella tabella mi da' in tutte le celle "error" .
Se sostituisco [Nazione] e [Cod] che sono il nome di un'altra colonna, con per esempio "x" , il risultato e' corretto "x IVA x".
Dov'e' l'errore?

Grazie.
 
Ultima modifica di un moderatore:

Claudio MBM

Utente junior
Original poster
15 Giugno 2023
29
2
3
2019
Ciao,
no, ho sbagliato io a digitarlo sotto, nella formula e' corretto, uguale al nome della colonna.
 

Canapone

Excel Expert
Moderatore
2 Giugno 2015
3.317
991
245
Firenze
Excel 2019
Ciao,

mi sono fatto un database elaborabile: sono stato fermato dallo stesso errore.

Nessun problema con

= Table.AddColumn(Origine, "Personalizzato", each if [Product] <>"" then Text.Combine({[Nazione], "IVA", [Cod]}, ", ") else null)

È solo un esempio.

In attesa di altri contributi dagli amici del Forum


Terio @Terio : scusa la sovrapposizione...saluti
 

Andrea90

Power BI Expert
Expert
25 Giugno 2017
1.148
483
115
Riccione
M365
Il problema è che se per scrivere quel codice hai utilizzato l'editor del tab "Trasforma" per avere come input la porzione del codice da utilizzare lui utilizza la formula: Table.TransformColumns() che come dice appunto il nome trasforma una colonna, dunque il suo scope è la specifica colonna, non puoi impostare la trasformazione basandosi su valori presenti su altre colonne.

Andrea
 
  • Like
Reactions: Canapone

Claudio MBM

Utente junior
Original poster
15 Giugno 2023
29
2
3
2019
Ecco allegato l'esempio richiesto, uguale all'originale.

Grazie, Andrea,
quindi per fare quella sostituzione che istruzione dovrei usare?
 

Allegati

  • ERRORE.xlsx
    31,9 KB · Visite: 2

Andrea90

Power BI Expert
Expert
25 Giugno 2017
1.148
483
115
Riccione
M365
Se Table.TransformColumns() modifica solo il contesto della specifica colonna ci sarà sicuramente Table.TransformRows() il quale però ti complicherà leggermente la vita perché dovrai lavorare con gli oggetti Record e dunque dovrai eseguire un passaggio in più per poter ottenere la tabella finale.

Andrea
 

Claudio MBM

Utente junior
Original poster
15 Giugno 2023
29
2
3
2019
Le mie conoscenze di programmazione sono molto limitate, a questo punto vado per un'altra strada, anche se non e' la migliore,
rinomino la colonna di origine, e poi creo una nuova colonna con quello che mi serve nominandola con il nome originale "Product",
a meno che qualcuno ha una soluzione piu' corretta da suggerirmi. 🙂
 

Andrea90

Power BI Expert
Expert
25 Giugno 2017
1.148
483
115
Riccione
M365
anche se non e' la migliore
Perché dici che non è la migliore? Hai provato a seguirla e hai visto un calo drastico nella performance di elaborazione del dato?

Perché la strada che hai indicato, è un modo per ottenere quanto da te richiesto, semplice e rapido. Se non hai cali di performance perché preferirla a costrutti molto più complessi lato sviluppo del codice se tanto il risultato finale è lo stesso (con due passaggi invece che uno)?

Andrea