mb63 ha scritto: ↑sab 16 lug 2022, 22:59
anche se ero curioso di sapere se esiste un metodo per scrivere una stringa di codice in cui rinominare più tabelle con nomi differenti
Per esercizio ho provato a dare seguito ai vari suggerimenti:
Soluzione1 (ho volutamente evitato di creare una tabella nella cartella)
Codice: Seleziona tutto
let
TabTranscodifica= Table.FromRecords(
{
[ID = 1, Tabella= "Tabella1", Regione = "Piemonte"],
[ID = 2, Tabella= "Tabella2", Regione = "Liguria"],
[ID = 3, Tabella= "Tabella3", Regione = "Valle d'Aosta"]
}),
Origine = Excel.CurrentWorkbook(),
NoRiepilogo = Table.SelectRows(Origine, each ([Name] <> "riepilogo_voti")),
TabRiepilogoTabelle = Table.ExpandTableColumn(NoRiepilogo, "Content", {"nome", "voto"}, {"Nome", "Voto"}),
TabRiepilogo=Table.SelectColumns(Table.ExpandTableColumn(Table.NestedJoin(TabRiepilogoTabelle , {"Name"}, TabTranscodifica, {"Tabella"}, "TabTranscodifica", JoinKind.LeftOuter), "TabTranscodifica", {"Regione"}, {"Regione"}),{"Nome", "Voto", "Regione"}),
RimosseRigheVuote = Table.SelectRows(TabRiepilogo, each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null})))
in
RimosseRigheVuote
Soluzione2
Codice: Seleziona tutto
let
Origine = Excel.CurrentWorkbook(),
NoRiepilogo = Table.SelectRows(Origine, each ([Name] <> "riepilogo_voti")),
TabRiepilogoTabelle = Table.ExpandTableColumn(NoRiepilogo, "Content", {"nome", "voto"}, {"Nome", "Voto"}),
TabRiepilogo = Table.RemoveColumns(Table.AddColumn(TabRiepilogoTabelle, "Regione", each if [Name] = "Tabella1" then "Piemonte" else if [Name] = "Tabella2" then "Liguria" else if [Name] = "Tabella3" then "Valle D'Aosta" else null, type text),{"Name"}),
RigheVuoteRimosse = Table.SelectRows(TabRiepilogo, each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null})))
in
RigheVuoteRimosse