如何在Power BI中使用Python/R生成的表格?

how to use the tables generated by Python/R in Power BI?

我正在尝试在 Power BI 中使用 Python/R。但我现在知道如何使用 Python 生成的 table。我什至不知道它在哪里。这是一个例子:

id  name    score
1   zhao    65
2   qian    98
3   sun 100
4   li  45
5   zhou    98

假设这是我名为 id 的数据。我使用此按钮 将数据读入 Power BI。

然后我在 Transform 中使用这个按钮 to start the Power Query Editor, from where I can use Python/R by clicking

然后我在 运行 Python 脚本中有一个非常简单的 Python 代码:

# 'dataset' holds the input data for this script
import pandas as pd

myid=dataset
myid.loc[:,'id']=myid.loc[:,'id']*100

到目前为止一切正常。但是您可能会注意到我使用 'dataset' 来表示数据,而不是真正的数据名称 'id'。所以我想知道在 Power BI 中数据库名称是否总是默认为 'dataset'?

当我完成编码时,我有这个:

你可以看到左边没有新的table叫'myid'。此外,当我使用按钮 应用此更改时,Power BI Desktop 中发生了一些更改:

你可以看到这里也没有任何新的table。那么,如果我想使用 Python 生成的 table 来做其他事情,例如绘图,或者在其他地方使用另一个 Python 分析,我应该怎么做?

或者,也许这不是在 Power BI 中使用 Pythong 的正确方法?所以,如果我想使用 Python 来分析数据并在 Power BI 中对它们建模。并且结果可以在Power BI中用于可视化等,我该怎么办?

下面是 R 脚本的 M 代码。

let
    Source = Table.FromRows({{1,"zhao",65},{2,"qian",98},{3,"sun",100},{4,"li",45},{5,"zhou",98}},{"id","name","score"}),
    #"Run R script" = R.Execute("# 'dataset' holds the input data for this script#(lf)#(lf)myid <- dataset#(lf)myid$id <- 100*myid$id",[dataset=Source]),
    myid = #"Run R script"{[Name="myid"]}[Value]
in
    myid

R脚本中的代码window就是

# 'dataset' holds the input data for this script

myid <- dataset
myid$id <- 100*myid$id

当您输入该脚本时,它应该会创建一个或两个新步骤。

只需单击“值”列中的 Table 即可向下钻取到 table(如果它没有自动执行)。