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

Posted

技术标签:

【中文标题】如何在 Power BI 中使用 Python/R 生成的表?【英文标题】:how to use the tables generated by Python/R in Power BI? 【发布时间】:2019-02-26 03:56:30 【问题描述】:

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

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

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

然后我使用此按钮 启动 Power Query 编辑器,我可以在其中通过单击转换中的 来使用 Python/R。

然后我在 Run Python script 中有一个非常简单的 Python 代码:

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

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

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

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

您可以看到左侧没有名为“myid”的新表。此外,当我使用按钮 应用此更改时,Power BI Desktop 中发生了一些更改:

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

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

【问题讨论】:

您可以在高级编辑器中找到的查询的 M 代码中进行编辑吗? @Alexis Olson 你能解释一下吗?我完全不知道 M 代码是什么以及如何使用它来编辑我的查询。谢谢 这里找到的代码:i.stack.imgur.com/NqItV.png 【参考方案1】:

这是 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脚本窗口中的代码很简单

# 'dataset' holds the input data for this script

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

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

只需单击“值”列中的表即可深入到该表(如果它没有自动执行该操作)。

【讨论】:

太棒了!您能否再回答两个问题: 1. 当我在 R 脚本窗口中完成编码时。 M 代码自动更改。所以我不需要自己在M代码中学习,对吧? 2.如果我想在Power BI destop中使用新表(此处为myid),例如可视化。我该怎么做?现在,当我单击“关闭并应用”时,我仍然无法在 Power BI Desktop 中看到新表。不好意思,我刚开始学习 Power BI 2 天。 1.不是。如果您不想,则不需要使用高级编辑器。 2. 上一个应用步骤中显示的表应与加载到 Power BI 中的表相同。如果要加载两个表,则复制查询并仅在一份副本上运行脚本。 这真的很有帮助。谢谢

以上是关于如何在 Power BI 中使用 Python/R 生成的表?的主要内容,如果未能解决你的问题,请参考以下文章

power bi 中 如何 排序 列?

power bi 如何获取数据做可视化

power bi如何抓取连续的分秒

如何在 Power BI 中使用 GROUPBY 函数?

power bi如何制作地图数据表?power bi如何在地图上标出数据啊?

power BI如何取排名在20-40名的人?