首页 > 解决方案 > Power Query:从列中捕获运算符并在计算列中使用

问题描述

我有一个带有一些表格的 Excel 文件来计算文章价格。在这些表之一中,用户可以定义如何计算价格。

例如,电源查询应该从竞争对手的数量中评估 MIN、MAX 或 AVG 价格(这没问题,工作正常)。此计算出的价格是进一步计算的初始值。用户可以输入运算符(+、-、*、/)和运算符。 在此处输入图像描述

在 PQ 中,我将表格与其他表格组合并转换为 get 和 result:

在此处输入图像描述

我想在新的计算列中使用运算符,如下所示:

= [Preis_MIN] [操作员] [Wert]

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

有没有办法在运算符中转换 TEXT?或使用

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

标签: excelpowerquerym

解决方案


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

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

在此处输入图像描述


推荐阅读