美文网首页
如何把多维表格转换成一维数据?

如何把多维表格转换成一维数据?

作者: Data_Skill | 来源:发表于2019-06-04 09:41 被阅读0次

    八、 如果实现多维数据转换成一维数据?

    原始表:

    原始表原始表

    目标表:

    目标表目标表

    项目和时间在行列的顺序是互换的,这个肯定会涉及到转置功能。
    我们看2种解法:

    (一) 通过函数分割后转置合并。

    我们看一个新函数Table.Partition。

    Table.Partition(table as table, column as text, group as number, hash as function) as list
    
    位置 参数 描述
    第1参数 Table 需要操作的表
    第2参数 Text 列名,文本形式
    第3参数 Group 分组的数量,数字格式
    第4参数 Hash 应用以获取哈希值的函数

    解释:
    此作用主要是把表根据哈希值及制定分组数进行分割成单个table的列表。

    1. 添加索引列并整除

    索引并整除索引并整除

    2. 转换成3个独立的表,使用到Table.Partition函数

    Table.Partition(被用整数除的列,"索引",3, each _)
    

    解释:
    被用整数除的列代表之前的过程表;索引代表根据内容进行的分组列名,需要文本格式,所以用"";3代表分组的数量;each _代表之前的整个表。

    函数转换函数转换

    这样我们得到3个独立的表。因为返回的结果是list格式,所以我们还需要转成Table格式。

    3. 把这3个table里面的行列进行转置。

    Table.AddColumn(转换为表, "自定义", each 
                              Table.Transpose(   //转置
                                        Table.RemoveColumns([Column1],"索引") //删除索引列
                                              )
                   )
    

    因为索引列我们已经不需要了,所以在转置前把索引列给去除,然后在进行转置。

    内部转置内部转置

    4. 对每一个表用表格里的第一列的第一个值作为表的说明。

    Table.AddColumn(删除的其他列, "自定义.1", each [自定义][Column1]{0})
    

    添加列并取自定义表的Column1列的第1行值作为表的说明。

    添加归属添加归属

    5. 最后展开后筛选,调整,重命名标题即可。

    (二) 使用自定义函数

    之前我们有做过一个关于多列数据组合的自定义函数。
    多列数据组合

    函数说明函数说明

    1. 先进行转置

    自定义_转置自定义_转置

    2. 使用自定义函数进行多列合并

    批量多列合并(转置表,Table.ColumnCount(转置表)/7,7,0)
    

    解释:
    第1参数代表需要处理的表,转置表代表上个过程的表
    第2参数代表是循环次数,这里实际转换是3,代表3组数据进行合并,我们这里使用了函数可以相对自动化的获取循环次数。
    第3参数是多少列作为一组进行转换,这里是7个列进行。
    第4参数是代表是否需要固定列,这不存在固定列,所以用0代表。

    自定义_多列合并自定义_多列合并

    3. 添加自定义列标注数据归属

    通过添加列来进行数据归属的判断。

     try if Text.Contains([Column1],"班") then [Column1] else null otherwise null
    

    解释:
    因为归属的字段里面都有个"班"字,所以以这个为条件进行判断,但是第1列当中既有文本格式,又有日期格式,所以直接使用文本函数,在判断日期的时候会出错,所以这里使用了try...otherwise...函数来进行处理。

    自定义_数据归属自定义_数据归属

    4. 最后通过提升标题,筛选数据,重命名列名等整理数据即可

    自定义_操作自定义_操作

    相关文章

      网友评论

          本文标题:如何把多维表格转换成一维数据?

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