我正在尝试使用其中的Run R Script功能转换Power BI中的表Edit Query.表的源是一个csv文件,其日期列的格式为2017-01-04(yyyy-mm-dd):
2017-01-04
2017-01-03
2017-01-02
2017-01-01
2016-12-31
2016-12-30
2016-12-29
2016-12-28
2016-12-27
2016-12-26
2016-12-25
2016-12-24
2016-12-23
2016-12-22
Run Code Online (Sandbox Code Playgroud)
使用Get Data,Power BI显示相同的日期列,如下所示:
打开之后Edit Query window,同样的日期列仍然如下所示:
但是,当尝试使用相同的数据运行R sctript时,该列仅包含如下所示的"值" Microsoft.OleDb.Date:
我正在运行的R脚本很简单:
# 'dataset' holds the input data for this script
output <- head(dataset)
Run Code Online (Sandbox Code Playgroud)
如果我尝试更改数据类型,则返回错误:
这一切对我来说都很奇怪,而且我没有找到使用谷歌的合理解释.
有什么建议?
如何使用Python脚本创建一个新表,该脚本使用两个现有表作为输入?例如,通过执行left join使用pandas合并?
一些细节:
使用Home > Edit queries你可以使用Python Transform > Run Python Script.这将打开一个Run Python Script对话框,告诉您'#dataset' holds the input data for this script.如果您只是单击OK并查看公式栏,您将找到相同的短语:
= Python.Execute("# 'dataset' holds the input data for this script#(lf)",[dataset=#"Changed Type"])
这也会在Applied Steps被调用的Run Python script位置添加一个新步骤,您可以通过单击右侧的齿轮符号来编辑Python脚本:
如何更改该设置以引用多个表?
样本数据
这是两个表,可以存储为CSV文件并使用加载 Home > Get Data > Text/CSV
表格1
Date,Value1
2108-10-12,1
2108-10-13,2
2108-10-14,3
2108-10-15,4
2108-10-16,5
Run Code Online (Sandbox Code Playgroud)
表2
Date,Value2
2108-10-12,10
2108-10-13,11
2108-10-14,12
2108-10-15,13
2108-10-16,14
Run Code Online (Sandbox Code Playgroud)