在 Power BI 中交换列和行

Swap columns and rows in Power BI

我是 Power BI 的新手,想测试一下您可以使用它做什么和不能做什么。因此,我尝试交换左侧 table 的列和行,以获得第二个 table 等于右侧的列和行:

我发现您可以使用数据透视将行转换为列,但 Power BI 中的选项只允许我基于一列而不是两列进行数据透视:

我还发现了 DAX 语法,它更灵活。我试图用它来克隆 table。稍作研究后,我做了 运行 下一句:

NewTable = Var Table2 = DataTable( "Year", STRING,{  {"2020 Price"},{"2021 Price"}  }  ) 
Var CrossJoined = CROSSJOIN(Table1,Table2)
                
Return    SELECTCOLUMNS( CrossJoined , 
        "ID" , [ID] , 
        "Year" , [Year] , 
        "New York" , CALCULATE(SWITCH([Year] , 
            "2020" , [2020 Price] ,
            "2021" , [2021 Price] ,
            BLANK()); Table1[City] IN {"New York"}) ,
        "Chicago" , CALCULATE(SWITCH([Year] , 
            "2020" , [2020 Price] ,
            "2021" , [2021 Price] ,
            BLANK()); Table1[City] IN {"Chicago"})
            )

无论如何这都行不通。那么,如何正确交换行和列?

在 Power Query 中:

  1. Select 2020 年价格2021 年价格 列和 Unpivot Columns
  2. Select City 列和 Pivot Columns 基于 Value 列(不聚合)
  3. Remove 属性 列中的“价格”
  4. Rename属性
  5. Sort/Reorder 根据需要