2016-03-01 15 views
0

您可以请我帮助我如何在功能bi查询中的数据中添加一个新列?如果我尝试手动添加具有以下功能的新列,那么所有工作都很好。但我希望能够建立一个查询,所以我不必每个月都手动执行,我需要打印一份报告。建立一个查询来自动添加一个基于功能的新列与Microsoft Power BI

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

当双向电力使用查询编辑器,我有这样的事情:

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. 

回答

0

你似乎是试图使用DAX或Excel公式语法。 Power BI Queries使用完全不同的语法 - 例如“if ... then ... else ...”。 Power BI查询中的列引用不包含表名,例如只是[Home Size]

使用“Power Query”搜索示例等,这是Excel加载项的名称,该加载项是Power BI此组件的父项。

这里的DOCO这个语言,它通常被称为“电查询功能语言”或(很少)“M”的根源:

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

这是奇怪的是很难找到实际的规范if-then-else - 它被隐藏在“Formula Language Specification”PDF中,有粗略的4行解释,没有提及它可以嵌套...