对于Power查询/ PowerBI中的M,应该使用哪种语法来设置数据类型?
( A) type text (或type logical,type date等)
( B) Text.Type (或Logical.Type,Date.Type等)
既然选项B已经存在,是否有理由使用选项A语法?我试着阅读“Power查询M语言规范”第5章,但没有找到明确的答案。
下面是一个使用Table.AddColumn的示例(尽管数据类型到处都显示):
let
OldTable = #table({"Col1"},{{"This column"}}),
fMyFunc = (paramText as text ) as text => let returnText = paramText & "_new" in returnText,
NewTable = Table.AddColumn(OldTable, "NewCol", each "Sample", Text.Type),
NewerTable = Table.AddColumn(NewTable, "NewerCol", each fMyFunc([NewCol]), Text.Type)
in
NewerTable我相信引入选项B只是为了标准化类型定义;例如,存在Int64.Type,但没有type Int64。因此,我的问题的答案可能是“这根本不重要”。但是,如果一种选择似乎是对未来的共识,我宁愿从代码中的一致性开始。
发布于 2019-09-26 14:09:19
我同意,这并不重要,除非从文体的角度。
正如您所提到的,像Int64.Type这样的非原始类型不能像使用type text那样以type Int64的形式编写,所以如果您希望保持您的风格在原始类型和非原始类型之间保持一致,那么您需要选项B。
您所链接的文档第48和49页中列出的基本类型如下:
type null,它对空值进行分类。type logical,它对值的真假进行分类。type number,它对数字值进行分类type time,它对时间值进行分类type date,它对日期值进行分类type datetime,对日期时间值进行分类。type datetimezone,对datetimezone值进行分类。type duration,它对持续时间值进行分类。type text,它对文本值进行分类type binary,它对二进制值进行分类type type,它对类型值进行分类。type list,它对列表值进行分类type record,它对记录值进行分类type table,它对表值进行分类type function,它对函数值进行分类。type anynonnull,它对除null以外的所有值进行分类。发布于 2019-09-26 14:31:32
因为类型没有得到很强的执行(MS型doc),而且缺乏微软的任何“风格指南”,这使得这个问题成为一个意见问题。我将使用原语类型(如M语言规范第5章中所述),除非您明确要求使用in 16这样的非原语类型作为解决方案。
https://stackoverflow.com/questions/58118348
复制相似问题