Tableau将具有origin / destination的行重新整形为两个单独的origin和destination行

时间:2016-08-10 10:07:56

标签: pivot tableau reshape

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

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 

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

1 个答案:

答案 0 :(得分:0)

解决方案是使用 UNION ALL 有效地将表的两个副本背靠背组合 - 将每个原始数据行分成两行。

然后从第一行的原始DepartureLatitude字段创建一个纬度字段绘图,并在第二行创建ArrivalLatitude。 (类似于Longitude),并添加一个新的Type字段以区分到达行和离开行。

您可以在数据连接窗格中使用Tableau Union功能,也可以使用计算字段来创建新的坐标字段。或者自定义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