把函数重新定义了一下,用List.Generate直接生成了,你要是愿意的话可以试一下,效率可能会有一点点提高。- fx = (start as number, end as number) =>
[
LastDate = Date.EndOfYear(#date(end, 12, 31)),
DateList = List.Generate(
() => [SoM = #date(start,1,1), EoM = Date.EndOfMonth(SoM)],
each [EoM] <= LastDate,
each [SoM = Date.AddMonths([SoM],1), EoM = Date.EndOfMonth(SoM)]
),
DateTable = Table.FromRecords(DateList)
][DateTable]
复制代码
另外DcaDtAndCd那一步,我觉得用Table.AddColumns(DateTable, "物料", each DisCode)后展开“物料”列就可以生成日期和物料的笛卡尔积了。 |