全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 学道会
566 0
2020-06-09
## 三、M函数

1、隐式和显示的差异在于字段名的字段类型的显示:隐式的数据类型由下面的记录决定,

(1)例 例1 :隐式字段表
let
Source = #table(
{\"OrderID\", \"CustomerID\", \"Item\", \"Price\"},
{
{1, 1, \"Fishing rod\", 100.00},
{2, 1, \"1 lb. worms\", 5.00}
})
in Source



(2)例 例2 :显示字段表
let
Source = #table(
type table [**OrderID = number, CustomerID = number, Item =**
**text, Price = number**],
{
{1, 1, \"Fishing rod\", 100.00},
{2, 1, \"1 lb. worms\", 5.00}
}
)
in Source

2、建表取什么值,由in source后面的大括号内容决定

例 例3 :建表后取表中第一行数据:取表头字段+第一行记录
let
Source = #table(
type table [OrderID = number, CustomerID = number, Item =
text, Price = number],
{
{1, 1, \"Fishing rod\", 100.00},
{2, 1, \"1 lb. worms\", 5.00}
}
)
**in Source{1}**

3、M函数的计算例 例2 :复合嵌套记录内元素间的引用计算:最终值为2100+2500=4600
[
Sales =
{
[
Year = 2007,
FirstHalf = 1000,
SecondHalf = 1100,
**Total = FirstHalf + SecondHalf**
],
[
Year = 2008,
FirstHalf = 1200,
SecondHalf = 1300,
**Total = FirstHalf + SecondHalf**
]
},
#\"Total Sales\" = Sales{0}[Total] + Sales{1}[Total]
]

4、大括{}号表示表格,中括号[]表示记录

let
  源 = [
      订单id = \"b\",
      客户id = \"bb\",
      订单金额 = 200,
      客户表 = #table(
            {\"客户id\",\"客户名称\"},
            {
              {\"bb\",\"王二\"}
            }
              )
      ]
in
  源



多维数据建模、数学建模

5、变量类型:一般对名义型、有序型变量进行观测,对连续型变量进行汇总

(1)名义型:变量之间没有关系的变量;数据类型一般为文本,无法作为度量值,作为维度来用(汇总角色),可以为主键

(2)有序型:变量之间有关系,但不连续的变量,例如成绩水平、健康状况;数据类型一般为文本、数值(很少用),作为维度来用(汇总角色),不可以为主键

(3)连续型:变量之间有关系,而且连续的变量,例如身高、体重、销量,数据类型一般为数值,作为度量值来用(汇总角色),不可以为主键

6、链接规则说明: 避免使用类型2的方法:不要跨表取字段;不要一表出度量

(1)多表出值,不管是单向还是双向连接,都是T1

(2)一表出值,双向就是T2,单向就是错的;跨表取字段也属于T2

![1591689491272](C:\\Users\\Administrator\\AppData\\Roaming\\Typora\\typora-user-images\\1591689491272.png)

![1591692775793](C:\\Users\\Administrator\\AppData\\Roaming\\Typora\\typora-user-images\\1591692775793.png)

7、连表思路

(1) 将需要用的表直接连接在一起,创建统一的多维环境

(2) 将需要用的表先能合并的合并,减少表的个数,不能合并的表再连接成一个多维环境
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群