在Power BI查询中通过记录的“可见”字段名称引用记录中的字段时出错

时间:2019-11-26 12:12:34

标签: powerbi powerquery powerbi-desktop m

在尝试引用记录中的字段作为Power BI报表查询的一部分时出现错误。

考虑以下语句:

Custom3 = Table.AddColumn(Custom2x, "Next ML Date LM", each if [Next ML Test] then
Record.Field(_, "LM.ML" & Number.ToText([Maturity Level TM]) & " Date")
else null)
  • [下一个ML测试]的数据类型为布尔值-在此示例中,假定该值为TRUE。
  • [Maturity Level TM]的数据类型是整数-假设该值为2。
  • 用_标识的当前行/记录包含一个名为“ LM.ML2 Date”的字段(已使用Record.FieldNames确认)。
  • 在上一条语句中,通过Table.NestedJoin,Table.ExpandTableColumn和Table.RenameColumns添加了“ LM.ML2日期”列。
  • 在其源表中,“ LM.ML2 Date”列最初称为“ ML2 Date”,但在Table.ExpandTableColumn语句中已重命名。
  • Record.Field中字段名称的表达式的计算结果为“ LM.ML2日期”。

该语句导致错误:

Expression.Error: The field 'LM.ML2 Date' of the record wasn't found.

在下面的错误记录中,我尝试引用的字段似乎是

ML2 Date2=07/08/2019

因此,我想要的值在那里,但字段名称不匹配。为了对此进行测试,我将原始语句更改如下:

Custom3 = Table.AddColumn(Custom2x, "Next ML Date LM", each if [Next ML Test] then
Record.Field(_, "ML" & Number.ToText([Maturity Level TM]) & " Date2")
else null)

修改后的语句返回所需的值。这表明只能使用Power BI分配的“原始”字段名称来引用该字段,但是,除了错误之外,似乎没有办法确定“原始”字段名称是什么。

最明显的解决方法是重命名Table.NestedJoin之前的列-这可以工作。但是,这不能解释可见列名称和隐藏列/字段名称之间的断开连接。是由于原始语句中的错误还是Power BI的“预期行为”?

0 个答案:

没有答案