purtroppo il database è abbastanza grosso circa 7milioni di record al momento, io pensavo, ma probabilmente non si puo fare di:
1.inserire un passaggio di filtro e ritrovarmi descrizioni DIMINUZIONE EX-INADEL TFR e I.N.A.D.E.L T.F.R.
2.poi unire le righe a coppie facendo la differenza su importo ente (formula funzione m che non conosco)
3.rimuovere il filtro.
Per le mie esigenze basterebbe che potessi passare il valore della voce DIMINUZIONE EX-INADEL TFR sul campo IMPORTENTE con un segno negativo.
modello dati con solo voce I.N.A.D.E.L T.F.R.
fare un merge tra i due a differenza...
rimuovere le righe contenenti voci DIMINUZIONE EX-INADEL TFR e I.N.A.D.E.L T.F.R.
mi permetto di allegare il codice M relativo alla creazione del modello dati non credo sia utile ma magari all'occhio esperto si notano macroscopiche castronerie.
Grazie ancora sempre gentilissimo.
Codice: Seleziona tutto
let
Origine = Sql.Database("PERSO0XXX-89915\SQLEXPRESS", "AOB"),
dbo_2015 = Origine{[Schema="dbo",Item="2015"]}[Data],
Origine2 = Sql.Database("PERSO0XXX-89915\SQLEXPRESS", "AOB"),
dbo_2016 = Origine2{[Schema="dbo",Item="2016"]}[Data],
Origine3 = Sql.Database("PERSO0XXX-89915\SQLEXPRESS", "AOB"),
dbo_2017 = Origine2{[Schema="dbo",Item="2017"]}[Data],
Origine4 = Sql.Database("PERSO0XXX-89915\SQLEXPRESS", "AOB"),
dbo_2018 = Origine4{[Schema="dbo",Item="2018"]}[Data],
Origine5 = Sql.Database("PERSO0XXX-89915\SQLEXPRESS", "AOB"),
dbo_2019 = Origine5{[Schema="dbo",Item="2019"]}[Data],
Origine6 = Sql.Database("PERSO0XXX-89915\SQLEXPRESS", "AOB"),
dbo_2020 = Origine2{[Schema="dbo",Item="2020"]}[Data],
Origine7 = Sql.Database("PERSO0XXX-89915\SQLEXPRESS", "AOB"),
dbo_2021 = Origine2{[Schema="dbo",Item="2021"]}[Data],
#"UNIONE DELLE TABELLE"= Table.Combine({#"dbo_2015", #"dbo_2016", #"dbo_2017", #"dbo_2018", #"dbo_2019", #"dbo_2020", #"dbo_2021"}),
#"Rimosse colonne" = Table.RemoveColumns(#"UNIONE DELLE TABELLE",{"ID"}),
#"Duplicata colonna" = Table.DuplicateColumn(#"Rimosse colonne", "MESE_CEDOLINO", "MESE_CEDOLINO - Copia"),
#"Duplicata colonna1" = Table.DuplicateColumn(#"Duplicata colonna", "ANNO_CEDOLINO", "ANNO_CEDOLINO - Copia"),
#"Merge di colonne" = Table.CombineColumns(#"Duplicata colonna1",{"ANNO_CEDOLINO", "MESE_CEDOLINO"},Combiner.CombineTextByDelimiter("-", QuoteStyle.None),"DATA_CASSA"),
#"Modificato tipo" = Table.TransformColumnTypes(#"Merge di colonne",{{"DATA_CASSA", type date}, {"MATRICOLA", Int64.Type}, {"DATA_NASCITA", type date}, {"DATA_ASSUNZIONE", type datetime}, {"DATA_ANZIANITA", type date}, {"COD_VOCE", Int64.Type}, {"ANNO_RIFERIM", Int64.Type}}),
#"Duplicata colonna2" = Table.DuplicateColumn(#"Modificato tipo", "ANNO_RIFERIM", "ANNO_RIFERIM - Copia"),
#"Duplicata colonna3" = Table.DuplicateColumn(#"Duplicata colonna2", "MESE_RIFERIM", "MESE_RIFERIM - Copia"),
#"Merge di colonne1" = Table.CombineColumns(Table.TransformColumnTypes(#"Duplicata colonna3", {{"MESE_RIFERIM", type text}, {"ANNO_RIFERIM", type text}}, "it-IT"),{"MESE_RIFERIM", "ANNO_RIFERIM"},Combiner.CombineTextByDelimiter("-", QuoteStyle.None),"COMPETENZA_ECONOMICA"),
#"CREATA CASSA E COMPETENZA" = Table.TransformColumnTypes(#"Merge di colonne1",{{"COMPETENZA_ECONOMICA", type date}}),
#"Rinominate colonne1" = Table.RenameColumns(#"CREATA CASSA E COMPETENZA",{{"MESE_RIFERIM - Copia", "MESE_RIFERIM"}, {"ANNO_RIFERIM - Copia", "ANNO_RIFERIM"}, {"ANNO_CEDOLINO - Copia", "ANNO_CEDOLINO"}, {"MESE_CEDOLINO - Copia", "MESE_CEDOLINO"}}),
#"Modificato tipo2" = Table.TransformColumnTypes(#"Rinominate colonne1",{{"ANNO_CEDOLINO", Int64.Type}, {"MESE_RIFERIM", Int64.Type}}),
#"Aggiunta colonna personalizzata" = Table.AddColumn(#"Modificato tipo2", "IMPORTO_U", each if [COD_VOCE]<5000 then [IMPORTO] else[IMPORTENTE]),
#"Modificato tipo1" = Table.TransformColumnTypes(#"Aggiunta colonna personalizzata",{{"IMPORTO_U", type number}}),
#"Merge di colonne2" = Table.CombineColumns(#"Modificato tipo1",{"COGNOME", "NOME"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"NOMINATIVO"),
#"IMPORTATO TIPO_DIP_U" = Table.NestedJoin(#"Merge di colonne2", {"COD_TIPODIP"}, TIPO_DIP, {"COD_TIPODIP"}, "TIPO_DIP", JoinKind.LeftOuter),
#"Tabella TIPO_DIP espansa" = Table.ExpandTableColumn(#"IMPORTATO TIPO_DIP_U", "TIPO_DIP", {"COD_TIPODIP_U"}, {"TIPO_DIP.COD_TIPODIP_U"}),
#"IMPORTATO NATURARAPP_U" = Table.NestedJoin(#"Tabella TIPO_DIP espansa", {"COD_NATRAPP"}, NATRAPP, {"COD_NATRAPP"}, "NATRAPP", JoinKind.LeftOuter),
#"Tabella NATRAPP espansa" = Table.ExpandTableColumn(#"IMPORTATO NATURARAPP_U", "NATRAPP", {"COD_NATRAPP_U"}, {"NATRAPP.COD_NATRAPP_U"}),
#"IMPORTATO RUOLO_U" = Table.NestedJoin(#"Tabella NATRAPP espansa", {"COD_RUOLO"}, RUOLO, {"COD_RUOLO"}, "RUOLO", JoinKind.LeftOuter),
#"Tabella RUOLO espansa" = Table.ExpandTableColumn(#"IMPORTATO RUOLO_U", "RUOLO", {"COD_RUOLO_U"}, {"RUOLO.COD_RUOLO_U"}),
IMPORTATO_AGGREGATORE = Table.NestedJoin(#"Tabella RUOLO espansa", {"COD_VOCE"}, VOGE, {"COD_VOCE"}, "VOGE", JoinKind.LeftOuter),
#"Tabella VOGE espansa" = Table.ExpandTableColumn(IMPORTATO_AGGREGATORE, "VOGE", {"COD.AGG."}, {"VOGE.COD.AGG."}),
#"CREATO CODICE CE" = Table.CombineColumns(Table.TransformColumnTypes(#"Tabella VOGE espansa", {{"VOGE.COD.AGG.", type text}}, "it-IT"),{"TIPO_DIP.COD_TIPODIP_U", "NATRAPP.COD_NATRAPP_U", "RUOLO.COD_RUOLO_U", "VOGE.COD.AGG."},Combiner.CombineTextByDelimiter("-", QuoteStyle.None),"CODICE_CE")
in
#"CREATO CODICE CE"