![파워 쿼리에서 매개 변수 사용](https://rvso.com/image/1520081/%ED%8C%8C%EC%9B%8C%20%EC%BF%BC%EB%A6%AC%EC%97%90%EC%84%9C%20%EB%A7%A4%EA%B0%9C%20%EB%B3%80%EC%88%98%20%EC%82%AC%EC%9A%A9.png)
파워 쿼리를 매개변수화하는 방법을 알아내도록 도와주세요.
웹 서비스에서 특정 데이터를 쿼리하고 이를 올바른 방식으로 조작하는 PowerQuery 쿼리를 작성했습니다. 오늘의 작업에 대해 작업 관리 시스템에 쿼리한다고 가정해 보겠습니다. 쿼리는 다음과 같습니다.
Web.Contents("http://intranet/tasks?assignee=John", [Content=Text.ToBinary("")]),
잘 작동하지만 이 쿼리가 포함된 이 통합 문서를 동료들과 공유하여 각자의 작업에 사용할 수 있도록 하고 싶습니다.
Web.Contents("http://intranet/tasks?assignee={INPUT HERE}", [Content=Text.ToBinary("")]),
이상적으로는 "담당자"라는 매개 변수가 필요합니다(예: 통합 문서의 셀). 이 통합 문서의 사용자가 쿼리하려는 담당자(예: Peter)를 입력하여 데이터를 새로 고칠 때 쿼리에서 다음과 같은 매개 변수를 사용할 수 있기를 바랍니다.
Web.Contents("http://intranet/tasks?assignee=Peter", [Content=Text.ToBinary("")]),
나는 그들이 PowerQuery 편집기를 열고 쿼리 코드를 편집하는 것을 원하지 않습니다. 왜냐하면 우리 사용자는 그것을 하는 것을 두려워하고 아마도 실수를 할 것이기 때문입니다. 담당자를 선택하기 위한 통합 문서의 셀이 가장 유용한 접근 방식이라고 생각합니다.
이것이 가능한가? 그렇다면 - 어떻게?
감사합니다
답변1
나는 이 해결책을 인터넷에서 찾았는데, 이것이 바로 내가 찾던 것이었다.
새 쿼리를 만들고 고급 편집기를 열고 다음 코드를 붙여넣습니다.
let GetValue=(rangeName) =>
let
name = Excel.CurrentWorkbook(){[Name=rangeName]}[Content],
value = name{0}[Column1]
in
value
in GetValue
이를 저장하면 이제 다음과 같은 다른 쿼리에서 사용할 수 있는 쿼리 기능이 생겼습니다.
GetValue("Password")
통합 문서에서 "비밀번호"라는 범위를 찾아 해당 범위의 첫 번째 셀 값을 가져옵니다.
답변2
레코드를 사용하여 매개변수를 전달할 수 Query
있습니다. 이전 단계에서 셀 값이 저장된 경우 Name
수식 입력줄의 fx 버튼을 사용하여 새 단계를 추가하고 다음 수식을 추가할 수 있습니다.
= Web.Contents("http://intranet/tasks", [Content=Text.ToBinary(""), Query=[assignee = Name]])
개인 정보 보호 수준이 활성화된 경우 개인 정보 보호 수준 메시지가 표시됩니다. 적절한 개인 정보 보호 수준(이 경우 둘 다 조직)을 할당하도록 선택하거나 옵션 대화 상자에서 개인 정보 보호 수준을 비활성화할 수 있습니다.