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

时间:2019-12-02 01:36:47

标签: python parameters powerbi powerbi-desktop

我有一个Power BI报表,该报表使用Python脚本获取数据。是否可以通过此Python脚本传递参数值给用户作为变量?

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

示例代码

导入请求
将熊猫作为pd导入

user =“ UserName”

Pass =“密码”

... ...

请告知。谢谢

2 个答案:

答案 0 :(得分:0)

可以将值传递给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的每个字段值都必须是一个表。字段名称将绑定到locals()字典的键上,并且字段值将转换为pandas DataFrames。

对Python代码进行评估后,locals()词典中的每个成员都将包含在返回的表中,只要它的类型是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. 将所有参数放入表格
  2. 将表格包装在记录中
  3. 在Python的第二个参数中传递记录。执行

答案 1 :(得分:0)

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

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

希望对您有帮助!