使用 Power Query 模拟 Excel 公式

问题描述 投票:0回答:1

我有一个包含 7 列的表格:日期、时间、开盘价、最高价、最低价、收盘价、TickVol。 在Excel中,如果我在H4上添加这个公式: =if(E4>D2, "BISI","") 并将其拖到最后,它就可以工作。如果满足条件,它将用“BISI”标记行。 现在我尝试使用以下命令在电源查询 M 代码上模拟这一点:

= if [Index] > 2 and 
     Table.AddIndexColumn(#"Changed Type", "Index", 1, 1, Int64.Type)[Low]{[Index]-1} > 
     Table.AddIndexColumn(#"Changed Type", "Index", 1, 1, Int64.Type)[High]{[Index]-3} 
then 
   "BISI" 
else 
   null

这不起作用。用 VBA 模拟这个很容易,但是用 M 代码尝试这个却让我难住了。 我正在尝试在 M 代码中执行此操作,因为它会使我的文件更小并更快地刷新我的数据。 希望有人能帮忙。

excel vba powerquery emulation
1个回答
0
投票

你可以试试这个

= Table.AddColumn(Source,"result", each 
[a =Table.SelectRows(Source, (x)=>x[Index]=[Index]-2)[High]{0},
b= if [Low]>a then "BISI" else null,
c = try b otherwise null]
[c])

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.