개발하자

데이터 가져오기의 python 스크립트 변수에 대한 Power BI Pass 매개 변수 값

Cuire 2023. 2. 8. 01:18
반응형

데이터 가져오기의 python 스크립트 변수에 대한 Power BI Pass 매개 변수 값

Python Script를 사용하여 데이터를 가져오는 Power BI 보고서가 있습니다.이 파이썬 스크립트에서 사용자에게 변수로 제공하는 매개 변수 값을 전달할 수 있습니까?

아래 예제에서는 사용자가 매개 변수로 사용자 이름과 암호를 이 스크립트에 전달하기를 원합니다.

샘플 코드

가져오기 요청 팬더를 pd로 가져오기

user = "UserName"

통과 = "암호"

.... ...

조언 부탁드립니다. 감사해요.




파이썬 스크립트에 값을 전달할 수 있습니다.

파워 쿼리 M 언어에서 은 파이썬 코드를 호출하는 커넥터 함수이다. 문서를 찾을 수 없지만 의 설명은 아래와 같습니다(마이크로소프트 공식 문서 스타일과 유사).


Python.Execute

구문

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

대해서

Python 코드를 실행합니다.

파이썬 코드가 평가되는 네임스페이스에서 변수를 제공하는 옵션이 포함될 수 있다. 의 각 필드 값은 테이블이어야 합니다. 필드 이름은 사전 키에 바인딩되며 필드 값은 팬더 데이터 프레임으로 변환됩니다.

파이썬 코드를 평가한 후, 사전의 모든 구성원은 해당 유형이 팬더 데이터 프레임인 한 반환된 테이블에 포함됩니다.

예제 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 스크립트에 매개 변수를 전달할 수 있습니다.

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

도움이 되었으면 좋겠어요!




인정된 답을 조금 더 확대하기 위해서. Python 스크립트를 "user" 및 "Pass"에 대한 하드 코딩된 값으로 붙여넣으면 테스트가 정상이라고 가정합니다. (홈에서 이 작업을 수행하고 "데이터 가져오기" 검색 Python 스크립트, 연결 및 붙여넣기)

다음 단계에서는 변수에 대한 검정력 BI 모수를 생성합니다. "Power Query Editor(전원 쿼리 편집기)"를 표시하려면 선택합니다. [홈]에서 "pUser"에 대한 항목을 찾아서 선택하고 추가합니다. (이것은 매개 변수 이름 지정에 대한 나의 표준입니다.). 값을 실제 사용자 이름으로 설정합니다. pPwd에 대해 반복합니다. 나중에 에서 편집할 수 있습니다.

그런 다음 Power Query Editor(전력 쿼리 편집기)에서 및 리본 선택을 선택합니다. PBI 명령 안에 단일 문자열로 변환된 스크립트가 표시됩니다. 이제 이 문자열을 끊고 매개 변수를 삽입할 수 있습니다. 예를 들어, 만약 당신의 코드가,

user = 'UserName'

로 바꾸다

user = '" & pUser & "'

우리는 파이썬 코드의 원본 인용문을 남기고 PBI 매개 변수에 패치만 적용한다는 점에 유의한다. 통과에 대해 반복합니다.

만약 당신이 파이썬 코드에서 큰따옴표를 선호한다면, 문자열 버전은 그것들을 반복할 것이다

user = ""UserName""

로.

user = "" " & pUser & " ""

런타임에 PBI는 vBA와 같이 이 문자열을 평가하여 매개 변수를 해결하고 파이썬 코드를 실행합니다.

코드에서 환경 변수를 선택하는 방법과 같이 이러한 변수를 참조할 수 있는 방법을 찾지 못했습니다.


반응형