Power BI 将参数值传递给获取数据中的 python 脚本变量

Power BI Pass Parameter Value to python Script Variable in get Data

我有一个使用 Python 脚本获取的 Power BI 报告 data.Is 是否可以传递参数值给我的用户作为此 python 脚本中的变量?

在下面的示例中,我希望用户将他们的用户名和密码作为参数传递到此脚本中。

示例代码

导入请求
将 pandas 导入为 pd

用户="UserName"

通过 = "Password"

..... ...

请指教。谢谢

可以将值传递给 Python 脚本。

在 Power Query M 语言中,Python.Execute 是调用 Python 代码的连接器函数。虽然我找不到任何文档,但 Python.Execute 的描述如下(类似于 Microsoft 官方文档样式)。


Python.Execute

语法

Python.Execute(script as text, optional datasets as nullable record) as table

关于

执行 Python 代码。

可以包含可选的 datasets 以在计算 Python 代码的命名空间中提供变量。 datasets 的每个字段值必须是 table。字段名称将绑定到 locals() 字典的键,字段值将转换为 pandas DataFrame。

在计算 Python 代码后,locals() 字典中的每个成员都将包含在返回的 table 中,只要其类型为 pandas DataFrame。

示例 1

let
    Source = Table.FromRecords({
        [Col1 = 10, Col2 = 3],
        [Col1 = 20, Col2 = 5]
    }),
    Script = 
"import pandas as pd
dataset['Col3'] = dataset['Col1'] + dataset['Col2']
result = dataset
",
    Result = Python.Execute(Script, [dataset = Source])
in
    Result{[Name = "result"]}[Value]
Col1  Col2  Col3
  10     3    13
  20     5    25

因此,回到问题,可以

  1. 将所有参数放入table
  2. 将 table 包裹在一条记录中
  3. 在Python.Execute
  4. 的第二个参数中传递记录

我遇到了同样的问题。可以将参数传递给 Python 脚本。

username = """ & UsernameParameter & """
password = """ & PasswordParameter & """

希望对你有帮助!