首页 > 解决方案 > 将行的一个值更改为列

问题描述

我正在处理 Power BI 报告。有两个维度DimWorkedClassDimWorkedService。(上面的代码片段是通过将矩阵值导出到 csv 获得的。)

要求是仅将 theWorked Service Text5转换为Worked ClassofText5而不是A(这是当前值)。

它可以在后端进行转换,但是在 Power BI 中有没有办法做到这一点?

请在此处查看图片

标签: powerbidaxpowerquerypowerbi-desktop

解决方案


这比看起来更棘手,但看起来这个问题已经在这里得到了回答:

Power Query 根据另一列转换一列

在您的情况下,M 代码如下所示:

= Table.FromRecords(Table.TransformRows(#"[Source or Previous Step Here]",
      (here) => Record.TransformFields(here, {"Worked Class",
          each if here[Worked Service] = "text5" then "text5" else here[Worked Class]})))

(在上面,here代表当前行。)

另一个答案指出了一种更清洁的方法:

= Table.ReplaceValue(#"[Source or Previous Step Here]",
      each [Worked Class],
      each if [Worked Service] = "text5" then "text5" else [Worked Class],
      Replacer.ReplaceText,{"Worked Class"})

推荐阅读