【问题标题】:PowerQuery - Transposing a table recordPowerQuery - 转置表记录
【发布时间】:2021-04-19 22:15:09
【问题描述】:

我是 powerBi 的新手,上过几节在线课程,但我对此感到很困惑。

我的公司目前使用 Zendesk 票务系统,我使用导出功能将所有数据导出到一个 XML 文件中。

到目前为止一切顺利,但我们使用自定义字段,在导入 PowerBI 后,每个工单的自定义字段显示为“表格”记录,我无法正确进行过滤。

我的目标是规范化表格,将所有自定义字段作为列。

这是我目前的状态:

下面是我的目标的详细示例。

有人能给我一些关于如何提取表并将记录转置为新列的提示吗?

只需扩展此列,它就会为每张工单创建大量重复的行。

【问题讨论】:

    标签: powerbi powerquery powerbi-desktop


    【解决方案1】:

    添加列...自定义列...使用公式

    =Table.Skip(Table.Transpose([custom_fields]),1)
    

    然后单击新列顶部的箭头并展开字段,然后重命名它们

    示例代码:

    #"Added Custom" = Table.AddColumn(PriorStepName, "Custom", each Table.Skip(Table.Transpose([custom_fields]),1)),
    // expand all column names
    List = List.Union(List.Transform(#"Added Custom"[Custom] , each Table.ColumnNames(_))),
    #"Expanded Data" = Table.ExpandTableColumn(#"Added Custom" , "Custom", List,List)
    in #"Expanded Data"
    

    【讨论】:

    • 先生您好,非常感谢。它有点工作,但是数据(和列)都被打乱了,因为并非所有的票都有所有的自定义字段,而且它们的顺序也不一样,我理解这一点。但是,在表记录上,有两列,第一列是列名,第二列是数据。有没有办法尊重第一列的命名?这样,我认为当票没有该字段时数据将为“空”,但会将正确的数据放在正确的列上。对不起,如果我没有说清楚
    • 经过一番研究,我刚刚使用了 Table.PromoteHeaders。此外,我发现更容易编辑删除“类型”标签的 XML……这样,PowerQuery 认为它不是另一列。再次感谢您为我指明正确的方向!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    相关资源
    最近更新 更多