Tableau 将 origin/destination 的行重塑为两个单独的起始行和目标行

Tableau reshaping a row with origin/destination into two separate origin and destination rows

我正在尝试转换如下所示的数据:

DeparturePort   DepartureLatitude   DepartureLongitude  ArrivalPort    ArrivalLatitude  ArrivalLongitude  Data
ABERDEEN        46.983              -123.817            BURNTISLAND    56.0500          -3.233            100
ABERDEEN        46.983              -123.817            CROMARTY       57.6833          -4.033            200
ABERDEEN        46.983              -123.817            IMMINGHAM      53.6333          -0.200            300

进入看起来像这样的东西:(最终在地图上绘制路径线)

Port         Latitude   Longitude   Type         Path                   Data
ABERDEEN     46.983     -123.817    Departure    ABERDEEN-BURNTISLAND   100
BURNTISLAND  56.0500    -3.233      Arrival      ABERDEEN-BURNTISLAND   100
ABERDEEN     46.983     -123.817    Departure    ABERDEEN-CROMARTY      200
CROMARTY     57.6833    -4.033      Arrival      ABERDEEN-CROMARTY      200
ABERDEEN     46.983     -123.817    Departure    ABERDEEN-IMMINGHAM     300
IMMINGHAM    53.6333    -0.200      Arrival      ABERDEEN-IMMINGHAM     300 

我试过使用枢轴,但它看起来与我想要的不太接近。我应该使用另一种类型的重塑吗?

解决方案是使用 UNION ALL 有效地将 table 的 2 个副本背靠背组合在一起——将每个原始数据行变成两行。

然后根据第一行的原始 DepartureLatitude 字段和第二行的 ArrivalLatitude 创建一个纬度字段绘图。 (与经度类似),并添加一个新的类型字段以区分到达行和出发行。

您可以使用数据连接窗格中的 Tableau 联合功能和计算字段来创建新的坐标字段。或按照

行自定义 Sql
select port, departure_latitude as latitude, "departure" as type from x
union all
select port, arrival_latitude as latitude, "arrival" as type from x