Bonjour à tous !
Une tentative concernant la requête t_R :
let
Source = Table.Buffer(
Excel.CurrentWorkbook(){[Name = "t_R"]}[Content][
[Cp],
[L],
[S],
[#"MR-1"],
[IE],
[MNPS],
[F],
[#"N-FS"]
]
),
ValRempl = Table.FromColumns(
List.Transform(Table.ToColumns(Source), each List.ReplaceMatchingItems(_, {{null, 0}, {"", 0}})),
Table.ColumnNames(Source)
),
Rec = Table.AddColumn(
ValRempl,
"Rec",
each [
MDAR = if [MNPS] = 0 then [#"MR-1"] * (1 + [IE]) else [MNPS],
#"N-FC" = if [#"N-FS"] = 0 then (MDAR * (Date.Month(DATE)) / 12) - [F] else [#"N-FS"],
D = if #"N-FC" > 0 then Number.Abs(Number.Round(#"N-FC", 2)) else 0,
C = if #"N-FC" < 0 then Number.Abs(Number.Round(#"N-FC", 2)) else 0
]
),
ExpandRec = Table.ExpandRecordColumn(Rec, "Rec", {"MDAR", "N-FC", "D", "C"}),
PermutCol = Table.ReorderColumns(
ExpandRec,
{"Cp", "L", "S", "MR-1", "IE", "MNPS", "MDAR", "F", "N-FS", "N-FC", "D", "C"}
),
VR0 = Table.ReplaceValue(
PermutCol,
0,
null,
Replacer.ReplaceValue,
{"MR-1", "IE", "MNPS", "F", "N-FS"}
)
in
VR0
L'idée générale étant d'éviter les itérations redondantes.
A tester pour appréhender le "gain" éventuel.