插入一列以计算与新日期相关的值之间的差异
Inserting a column to calculate the difference between values relating to new dates
我正在使用 power 查询创建一个 table,在这个 table 中有几个部分 # 和数量。每周电源查询都会刷新,以获取部件号的新每周数量。我正在尝试创建一个列来计算数量每周变化时的差异(增加或减少)。
我的 3 列是:
日期,
产品编号,
数量
我似乎找不到 Value.Subtract([QTY], [QTY], [日期][产品编号])
的正确语法
您可以使用 M(Power Query 语言)执行此操作:
#"Sorted Rows" = Table.Sort(#"Prior Step",{{"Product Number", Order.Ascending}, {"Date", Order.Ascending}}),
#"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 0, 1),
#"Added Qty Change" = Table.AddColumn(#"Added Index", "Qty Change", each try if #"Added Index"[Product Number]{[Index]-1} = [Product Number] then [Qty] - #"Added Index"[Qty]{[Index]-1} else null otherwise null, type number),
#"Removed Columns" = Table.RemoveColumns(#"Added Qty Change",{"Index"})
不过,我认为在您的数据模型中使用 DAX 会更有效。
将 table 加载到数据模型,然后添加计算列:
Qty Change:=
VAR CurrentDate = 'Inventory Balance'[Date]
VAR CurrentProduct = 'Inventory Balance'[Product Number]
VAR PreviousDate =
CALCULATE (
MAX ( 'Inventory Balance'[Date] ),
FILTER (
ALL ( 'Inventory Balance' ),
'Inventory Balance'[Date] < CurrentDate
&& 'Inventory Balance'[Product Number] = CurrentProduct
)
)
VAR PreviousQty =
CALCULATE (
SUM ( 'Inventory Balance'[Qty] ),
FILTER (
ALL ( 'Inventory Balance' ),
'Inventory Balance'[Date] = PreviousDate
&& 'Inventory Balance'[Product Number] = CurrentProduct
)
)
RETURN
'Inventory Balance'[Qty] - PreviousQty
我正在使用 power 查询创建一个 table,在这个 table 中有几个部分 # 和数量。每周电源查询都会刷新,以获取部件号的新每周数量。我正在尝试创建一个列来计算数量每周变化时的差异(增加或减少)。
我的 3 列是: 日期, 产品编号, 数量
我似乎找不到 Value.Subtract([QTY], [QTY], [日期][产品编号])
的正确语法您可以使用 M(Power Query 语言)执行此操作:
#"Sorted Rows" = Table.Sort(#"Prior Step",{{"Product Number", Order.Ascending}, {"Date", Order.Ascending}}),
#"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 0, 1),
#"Added Qty Change" = Table.AddColumn(#"Added Index", "Qty Change", each try if #"Added Index"[Product Number]{[Index]-1} = [Product Number] then [Qty] - #"Added Index"[Qty]{[Index]-1} else null otherwise null, type number),
#"Removed Columns" = Table.RemoveColumns(#"Added Qty Change",{"Index"})
不过,我认为在您的数据模型中使用 DAX 会更有效。 将 table 加载到数据模型,然后添加计算列:
Qty Change:=
VAR CurrentDate = 'Inventory Balance'[Date]
VAR CurrentProduct = 'Inventory Balance'[Product Number]
VAR PreviousDate =
CALCULATE (
MAX ( 'Inventory Balance'[Date] ),
FILTER (
ALL ( 'Inventory Balance' ),
'Inventory Balance'[Date] < CurrentDate
&& 'Inventory Balance'[Product Number] = CurrentProduct
)
)
VAR PreviousQty =
CALCULATE (
SUM ( 'Inventory Balance'[Qty] ),
FILTER (
ALL ( 'Inventory Balance' ),
'Inventory Balance'[Date] = PreviousDate
&& 'Inventory Balance'[Product Number] = CurrentProduct
)
)
RETURN
'Inventory Balance'[Qty] - PreviousQty