Power Query:从列中捕获运算符并在计算列中使用

Power Query: Catch Operator from Column and use in Calculated Column

我有一个 Excel-文件,其中包含一些 table 来计算商品价格。 在这些 table 之一中,用户可以定义如何计算价格。

例如,功率查询应该根据竞争对手的数量评估 MIN、MAX 或 AVG 价格(这没问题并且工作正常)。这个计算出的价格是进一步计算的初始值。 用户可以输入运算符(+、-、*、/)和操作符。

在 PQ 中,我将 table 与其他 table 组合并转换为 get 和结果:

我想在新的计算列中使用运算符,类似这样:

= [Preis_MIN] [运算符] [Wert]

我知道,我可以使用 IF()-Function(s),但是 if 非常慢,最后 table 将有数千行。

有没有办法在运算符中转换文本?或者使用

Text.Combine({Text.From([Preis_MIN]), [Operator], Text.From([Wert])}, " ") 并将(文本)结果转换为公式?

您可以使用Expression.Evaluate。例如:

Expression.Evaluate(Number.ToText([Value]) & [operator] & Number.ToText([operand]))