Power BI:日期列未使用R脚本正确处理

时间:2019-03-05 09:25:20

标签: r powerbi

在Power BI中,我试图在可视化之前转换数据表。我选择使用R脚本来这样做。

我的数据表包含一个“日期”列。每当我在该列上运行R脚本时,该列中的所有值都会返回NULL。

例如-

之前

enter image description here

用于转换列的R脚本

# 'dataset' holds the input data for this script
library(dplyr)
library(lubridate)
library(zoo)

# Extract month-year for each date
df=dataset %>%
   mutate(Date=as.yearmon(Date))

结果

enter image description here

我在R Studio中重新执行了此脚本,并且转换工作正常。

Power BI似乎有问题,任何与日期相关的操作都将导致NULL s

有人遇到相同的情况,有可能的解决方法吗?

预先感谢

2 个答案:

答案 0 :(得分:2)

This answer has been edited after a discussion in the comments


我有一个建议,假设您想要的输出看起来像这样:

enter image description here

解决方案的关键在于运行R脚本之前将日期转换为text,并相应地处理R脚本中的输入。另外,为确保Power Query Editor不会为您做出任何格式选择(避免将日期设置为小数),R脚本中的输出日期应设置为text / string格式。


我的方法:

1。。使用Enter Data手动插入一些日期:

enter image description here

2。。转到Edit Queries并进行查看:

enter image description here

请注意,该列已自动更改为Date,并且Changed Type下有一个步骤Applied Steps。现在,将“日期”数据类型更改为text,并替换其他数据更改步骤:

enter image description here

3。。插入以下R脚本,该脚本与您的设置相比仅具有一些更改:

# 'dataset' holds the input data for this script
library(dplyr)
library(lubridate)
library(zoo)

# Extract month-year for each date
df=dataset %>%
   mutate(Date=as.yearmon(as.Date(Date,format = "%d/%m/%Y")))

# Make sure Power BI picks up the date column as a string format
df['Date'] <- format(df['Date'], "%b %Y")

4。。运行脚本以获取此信息:

enter image description here

我希望这是您想要的。不要犹豫,让我知道。

答案 1 :(得分:0)

在RStudio中,我得到了:

as.yearmon("21/02/2019")
[1] NA

尝试:

as.yearmon(as.Date("21/02/2019","%d/%m/%Y"))
[1] "Feb 2019"