假设我有一组回报,我想计算其β值与不同的市场指数.让我们在一个名为Returns一个具体示例的表中使用以下数据集:
Date Equity Duration Credit Manager
-----------------------------------------------
01/31/2017 2.907% 0.226% 1.240% 1.78%
02/28/2017 2.513% 0.493% 1.120% 3.88%
03/31/2017 1.346% -0.046% -0.250% 0.13%
04/30/2017 1.612% 0.695% 0.620% 1.04%
05/31/2017 2.209% 0.653% 0.480% 1.40%
06/30/2017 0.796% -0.162% 0.350% 0.63%
07/31/2017 2.733% 0.167% 0.830% 2.06%
08/31/2017 0.401% 1.083% -0.670% 0.29%
09/30/2017 1.880% -0.857% 1.430% 2.04%
10/31/2017 2.151% -0.121% 0.510% 2.33%
11/30/2017 2.020% -0.137% -0.020% 3.06%
12/31/2017 1.454% 0.309% 0.230% 1.28%
Run Code Online (Sandbox Code Playgroud)
现在在Excel中,我可以使用该LINEST函数来获取beta值:
= LINEST(Returns[Manager], Returns[[Equity]:[Credit]], TRUE, TRUE)
Run Code Online (Sandbox Code Playgroud)
它会吐出一个如下所示的数组:
0.077250253 -0.184974002 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用其中的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)