首页 > 解决方案 > Excel Power Query 添加日期列失败

问题描述

所以,我有一个日期(CLOSE_DATE)/值(KG_A7)对的数据,我在其中对一个月的值进行分组(总和)(使用当月的第一天作为分组依据)。我可以手动执行此操作,但我正在尝试编写一个函数 (fnGroupByMonth),因为我需要对不同的数据源进行此转换。

我有工作代码:

let 
    fnGroupByMonth = (SourceTable, GroupBy as text, Values as text) =>
    let
        #"Inserted Start of Month" = Table.AddColumn(SourceTable, "Month", each Date.From(Date.StartOfMonth([CLOSE_DATE])), type date),
        #"Grouped Rows" = Table.Group(#"Inserted Start of Month", {"Month"}, {{Values, each List.Sum([KG_A7]), type number}}),
        #"Sorted Rows" = Table.Sort(#"Grouped Rows",{{"Month", Order.Ascending}})
    in
        #"Sorted Rows"
in
    fnGroupByMonth

但是,当我尝试更改 (1) [CLOSE_DATE]forTable.Column(SourceTable, GroupBy)或 (2) [KG_A7]forTable.Column(SourceTable, Values)时,出现以下错误:

(1) Date 值必须包含 Date 组件 Details: [List]

(2) 每个月的价值总和相同

我试过不使用as text并且我尝试将列名作为列发送(所以[CLOSE_DATE]不是"CLOSE_DATE",在这种情况下我得到错误“有一个未知的标识符。你是否使用了 [field] 简写作为 _[field]一个‘每个’的表达?

标签: excelpowerquery

解决方案


好的,所以我承认我不明白它的用法,但我抄袭了一个类似问题的答案,我刚刚遇到了一个类似的问题,并将其替换为Table.Column(SourceTable, GroupBy)Record.Field(_, GroupBy)和相同的Values)并且它有效!现在我只需要了解为什么!


推荐阅读