如何将日期信息列合并为一个日期列? (每列目前是不同的日期)
How to combine columns of date information into one date column? (each column is currently a different date)
我有来自 John Hopkins University 2, which I've imported into Tableau 3 的 COVID 数据集。但是,它将每个日期列显示为单独的度量。有没有办法把它合并成一列日期呢?
我尝试使用 SQL:
来逆向旋转数据集
- 我用pgfutter把JHU网站的.csv文件导入到PostgreSQL
- 这会在 PostgreSQL 中显示 4
- 前 2 天我尝试使用此代码对数据进行逆透视。
select province_state, country_region, lat, long, date(generate_series('2020-01-22', '2020-01-23', '1 day'::interval)), new_cases
from time_series_covid19_confirmed_global
cross join lateral (
values ('2020-01-22',_1_22_20),('2020-01-23',_1_23_20)) as t(date,new_cases)
group by date, country_region, province_state, lat, long, new_cases
order by date, country_region, province_state;
- This was the output. 不确定为什么每条记录有双行?另外,有没有更简单的方法来代替每天交叉连接?
谢谢!
你的 select
:
date(generate_series('2020-01-22', '2020-01-23', '1 day'::interval))
这是造成重复的原因。通常,您只能在 from
子句中使用 join
来创建新行。但是,Postgres 允许(某些)table 返回 select
中的函数——并且这些函数也是行数的倍数。我总是把这样的函数放在 from
子句中以避免这样的问题。
相反,您只需要 t.date
在 select
.
我也猜你不需要 group by
:
select province_state, country_region, lat, long, t.date, new_cases
from time_series_covid19_confirmed_global cross join lateral
(values ('2020-01-22'::date, _1_22_20),('2020-01-23', _1_23_20)
) t(date, new_cases)
order by date, country_region, province_state;
您可以使用 Pivot 在 Tableau 本身中执行此操作。我下载了你的数据并在我的 tableau 中试过了。请按照截图-
第 1 步
Select 所有您希望旋转的列,然后右键单击此处所示和 select“将数据添加到 Pivot”
第 2 步
可以在 table 的末尾找到透视列(通常),您可以像我在此屏幕截图中所做的那样轻松重命名它
我希望这个helps.You可以用类似的方式格式化其他列。
我有来自 John Hopkins University 2, which I've imported into Tableau 3 的 COVID 数据集。但是,它将每个日期列显示为单独的度量。有没有办法把它合并成一列日期呢?
我尝试使用 SQL:
来逆向旋转数据集- 我用pgfutter把JHU网站的.csv文件导入到PostgreSQL
- 这会在 PostgreSQL 中显示 4
- 前 2 天我尝试使用此代码对数据进行逆透视。
select province_state, country_region, lat, long, date(generate_series('2020-01-22', '2020-01-23', '1 day'::interval)), new_cases
from time_series_covid19_confirmed_global
cross join lateral (
values ('2020-01-22',_1_22_20),('2020-01-23',_1_23_20)) as t(date,new_cases)
group by date, country_region, province_state, lat, long, new_cases
order by date, country_region, province_state;
- This was the output. 不确定为什么每条记录有双行?另外,有没有更简单的方法来代替每天交叉连接?
谢谢!
你的 select
:
date(generate_series('2020-01-22', '2020-01-23', '1 day'::interval))
这是造成重复的原因。通常,您只能在 from
子句中使用 join
来创建新行。但是,Postgres 允许(某些)table 返回 select
中的函数——并且这些函数也是行数的倍数。我总是把这样的函数放在 from
子句中以避免这样的问题。
相反,您只需要 t.date
在 select
.
我也猜你不需要 group by
:
select province_state, country_region, lat, long, t.date, new_cases
from time_series_covid19_confirmed_global cross join lateral
(values ('2020-01-22'::date, _1_22_20),('2020-01-23', _1_23_20)
) t(date, new_cases)
order by date, country_region, province_state;
您可以使用 Pivot 在 Tableau 本身中执行此操作。我下载了你的数据并在我的 tableau 中试过了。请按照截图-
第 1 步 Select 所有您希望旋转的列,然后右键单击此处所示和 select“将数据添加到 Pivot”
第 2 步 可以在 table 的末尾找到透视列(通常),您可以像我在此屏幕截图中所做的那样轻松重命名它
我希望这个helps.You可以用类似的方式格式化其他列。