美文网首页
Power Pivot中表的构建

Power Pivot中表的构建

作者: Data_Skill | 来源:发表于2019-05-30 11:19 被阅读0次

    (一) 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. 注意事项

    • 单个函数不仅可以增加1列,而且可以同时增加多列。
    • 一般用于DAX Studio中构建的虚拟表,不反回最终实表。

    D. 作用

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

    E. 案例

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

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

    相关文章

      网友评论

          本文标题:Power Pivot中表的构建

          本文链接:https://www.haomeiwen.com/subject/fsketctx.html