首页 > 解决方案 > 在 Python/R/PowerBI 中将多个日期行转换为列?

问题描述

我有一个数据集,其中包含 100 万个特定订单的值。问题在于,由于每个订单在行中有多个日期,因此值是重复的。我想连续显示一个订单的所有更改日期,而不是显示多行。

我尝试在 Python 中使用 pivovt 并在 PowerBI 中使用 Pivot。PowerBI 中的数据透视确实将日期转换为列(但作为标题)。它也不会删除重复项。取而代之的是,它将每列显示为 0 作为行。

我想要这样的东西: 链接

标签: pythonrpowerbi

解决方案


R 这里是方法。

library(tidyverse)

df1 = df %>% select(-Delivery_Date) %>% 
  group_by(GR_Key) %>% 
  mutate(GroupOrder = seq(n())) %>% # Create row order
  spread(GroupOrder, Customer_Need_Date, sep="_") 

df2 = df %>% select(-Customer_Need_Date) %>% 
  group_by(GR_Key) %>% 
  mutate(GroupOrder = seq(n())) %>% 
  spread(GroupOrder, Delivery_Date, sep="_")

df_final = df1 %>%
  left_join(df2, by="GR_Key")

现在这应该可以满足您的需求


推荐阅读