将行的一个值更改为列

时间:2018-09-18 15:59:46

标签: powerbi dax powerquery powerbi-desktop

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

要求仅将DimWorkedService的{​​{1}}转换为Worked Service的{​​{1}},而不是Text5(这是当前值)。 / p>

它可以在后端进行转换,但是在Power BI中有什么方法可以实现?

Please see the image here

1 个答案:

答案 0 :(得分:0)

这比可能看起来要棘手,但似乎此问题已在此处得到回答:

Power Query Transform a Column based on Another Column

在您的情况下,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"})