使用 Microsoft Power BI 构建查询以根据函数自动添加新列

Building a query to auto add a new column based on a function with Microsoft Power BI

你能帮我解决一下如何在 power bi 查询的数据中添加新列吗?如果我尝试手动添加具有以下功能的新列,一切正常。但我希望能够构建一个查询,这样我就不必每个月都手动执行我需要打印的报告。

Size = IF(ISNUMBER(Data[Home Size]),CEILING(Data[Home Size], 10)-9&" - "&CEILING(Data[Home Size],10))) 

在 power bi 中使用查询编辑器时,我得到了这样的信息:

let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i44FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table []),
#"Added Custom" = Table.AddColumn(Source, "Size", each IF(ISNUMBER(Data[Home Size]),CEILING(Data[Home Size], 10)-9&" - "&CEILING(Data[Home Size],10)))
in
    #"Added Custom"

我收到以下错误:

Expression error: The name 'IF' wasn't recognized.  Make sure it's spelled correctly.

您似乎在尝试使用 DAX 或 Excel 公式语法。 Power BI 查询使用完全不同的语法 - 例如 "if ... then ... else ..."。 Power BI 查询中的列引用不包括 table 名称,例如只是 [Home Size]

使用 "Power Query" 搜索示例等,"Power Query" 是 Excel 加载项的名称,它是此 Power BI 组件的父级。

这是该语言的 doco 的根,通常称为 "Power Query Function language" 或(很少)"M":

https://msdn.microsoft.com/en-us/library/mt211003.aspx

很难找到 if-then-else 的实际规范 - 它被埋在 "Formula Language Specification" PDF 中,粗略的 4 行解释,没有提到它可以嵌套......