Power Pivot中表的构建

2019-05-30  本文已影响0人  Data_Skill

(一) Power Pivot基础构造

1. 创建表

例如我们要创建一个这样的表。

表1:

构造表构造表

我们知道在Power Query里面构建表的语法是

=#table({"姓名","成绩","学科"},{{"张三",100,"数学"},{"李四",90,"语文"},{"王五",80,"英语"}})

如果要构建上面那张表的内容则有2中方式:

A. 通过行构建ROW

ROW ( <Name>, <Expression> [, <Name>, <Expression> [, … ] ] )

参数Name代表列名,Expression代表数据,但是只能生成1行数据,如果需要生成3行数据,则还需要通过union函数进行合并。

Union(
Row("姓名","张三","学科","数学","成绩",100),
Row("姓名","李四","学科","语文","成绩",90),
Row("姓名","王五","学科","英语","成绩",80)
     )

B. 通过语法构建{(),()}

而在Power Pivot里面默认格式是{(),()},也就是{(1列1行数据,2列1行数据,3列1行数据),(1列2行数据,2列2行数据,3列2行数据)},但是默认的标题为value1,value2等。所以如果要生所需要标题的表格,则还需要通过SelectColumns函数进行添加所需要的标题。请注意,如果是只生成单个列的话,字段名默认是Value。

SelectColumns(
{
("张三","数学",100),
("李四","语文",90),
("王五","英语",80)
},
"姓名",[value1],
"学科",[value2],
"成绩",[value3]
)

2. 增加行

如果我们要在原来的表格里面增加一行数据的话,同理通过union进行合并即可。

Union('表1',
      Row("姓名","赵六","学科","化学","成绩",70)
     )

因为Union表合并是不核对列名的,只根据列排序来进行合并,所以也简写

Union('表1',
      Row("1","赵六","2","化学","3",70)
     )

3. 增加列Addcolumns

A. 语法

ADDCOLUMNS ( <Table>, <Name>, <Expression> [, <Name>, <Expression> [, … ] ] )
位置 参数 描述
第1参数 Table 需要操作的表
第2参数 Name 增加的列名,需文本格式
第3参数 Expression 增加列里写的表达式内容

B. 返回

表——增加单列或者多列的表

C. 注意事项

D. 作用

返回原表加上增加列后的表。

E. 案例

例如我们需要在上面添加一个学校名称,例如张三属于1中,李四属于2中,王五属于3中。

ADDCOLUMNS('表1',"学校",
                SWITCH(true(),
                            '表1'[姓名]="张三","1中",
                            '表1'[姓名]="李四","2中",
                            '表1'[姓名]="王五","3中"
                       )
           )
上一篇下一篇

猜你喜欢

热点阅读