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
因此,回到问题,可以
- 将所有参数放入table
- 将 table 包裹在一条记录中
- 在Python.Execute
的第二个参数中传递记录
我遇到了同样的问题。可以将参数传递给 Python 脚本。
username = """ & UsernameParameter & """
password = """ & PasswordParameter & """
希望对你有帮助!
我有一个使用 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
因此,回到问题,可以
- 将所有参数放入table
- 将 table 包裹在一条记录中
- 在Python.Execute 的第二个参数中传递记录
我遇到了同样的问题。可以将参数传递给 Python 脚本。
username = """ & UsernameParameter & """
password = """ & PasswordParameter & """
希望对你有帮助!