我需要做一个新列作为从两个(上一年的年份)的减法,每年都会改变。所以,第一个值必须是:49.443
我已经尝试过了,但它不起作用。
"[" & Text.From(Date.Year(DateTime.LocalNow())-1) & "]" -
"[" & Text.From(Date.Year(DateTime.LocalNow())-2) & "]"
谢谢
我需要做一个新列作为从两个(上一年的年份)的减法,每年都会改变。所以,第一个值必须是:49.443
我已经尝试过了,但它不起作用。
"[" & Text.From(Date.Year(DateTime.LocalNow())-1) & "]" -
"[" & Text.From(Date.Year(DateTime.LocalNow())-2) & "]"
谢谢
不知道你是否还需要这个答案,但我想你快到了。
DateTime.LocalNow是正确的,但是您不能使用"["并且&因为这将导致字符串文字 - 而您想要的是使用函数之类的动态字段访问(在语句Record.Field的行上下文中)。each
这是一个包含一些模拟/虚拟数据的表。最后一列 ( differencia anual) 基本上是上一年的值与两年前的值之间的差异(在撰写本文时分别是 2018 年和 2017 年)。
尝试类似:
let
mockData = Table.FromColumns({{11..20}, List.Numbers(40, 10, 2)}, type table [2017 = Int64.Type, 2018 = Int64.Type]),
annualDifference =
let
currentYear = Date.Year(DateTime.LocalNow()),
previousYearHeader = Number.ToText(currentYear - 1),
twoYearsAgoHeader = Number.ToText(currentYear - 2),
differenceColumn = Table.AddColumn(mockData, "diferencia anual", each Record.Field(_, previousYearHeader) - Record.Field(_, twoYearsAgoHeader), type number)
in differenceColumn
in
annualDifference
由于您使用的是DateTime.LocalNow,被减去的列将由您计算机的系统时钟决定——我认为这是您想要的。