首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更好的语法声明数据类型在M- Text.Type还是类型文本?

问更好的语法声明数据类型在M- Text.Type还是类型文本?
EN

Stack Overflow用户
提问于 2019-09-26 13:51:09
回答 2查看 588关注 0票数 3

对于Power查询/ PowerBI中的M,应该使用哪种语法来设置数据类型?

( A) type text (或type logical,type date等)

( B) Text.Type (或Logical.Type,Date.Type等)

既然选项B已经存在,是否有理由使用选项A语法?我试着阅读“Power查询M语言规范”第5章,但没有找到明确的答案。

下面是一个使用Table.AddColumn的示例(尽管数据类型到处都显示):

代码语言:javascript
复制
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。因此,我的问题的答案可能是“这根本不重要”。但是,如果一种选择似乎是对未来的共识,我宁愿从代码中的一致性开始。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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以外的所有值进行分类。
票数 2
EN

Stack Overflow用户

发布于 2019-09-26 14:31:32

因为类型没有得到很强的执行(MS型doc),而且缺乏微软的任何“风格指南”,这使得这个问题成为一个意见问题。我将使用原语类型(如M语言规范第5章中所述),除非您明确要求使用in 16这样的非原语类型作为解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58118348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档