데이터 액세스 처리
데이터 원본 함수
Data 커넥트or는 M 라이브러리에서 데이터 원본 함수의 동작을 래핑하고 사용자 지정합니다. 예를 들어 REST API에 대한 확장은 Web.Contents 함수를 사용하여 HTTP 요청을 만듭니다. 현재 확장성을 지원하기 위해 제한된 데이터 원본 함수 집합이 활성화되었습니다.
예제:
[DataSource.Kind="HelloWorld", Publish="HelloWorld.Publish"]
shared HelloWorld.Contents = (optional message as text) =>
let
message = if (message <> null) then message else "Hello world"
in
message;
데이터 원본 종류
확장에서와 같이 shared
표시된 함수는 데이터 원본 정의 레코드의 이름과 함께 함수에 리터럴 특성을 포함하여 DataSource.Kind
특정 데이터 원본과 연결할 수 있습니다.
데이터 원본 레코드는 데이터 원본에서 지원하는 인증 유형과 기본 브랜딩 정보(예: 표시 이름/레이블)를 정의합니다.
레코드의 이름은 고유 식별자가 됩니다.
동일한 데이터 원본과 연결된 각 함수에는 이름, 형식 및 순서를 포함하여 동일한 필수 함수 매개 변수가 있어야 합니다. (데이터 원본 종류를 위해 매개 변수가 표시된 optional
경우 또는 메타데이터에 .가 포함된 DataSource.Path = false
경우 매개 변수는 필요하지 않은 것으로 간주됩니다.)
특정 데이터 원본 종류에 대한 함수는 해당 Kind와 연결된 자격 증명만 사용할 수 있습니다. 자격 증명은 함수의 필수 매개 변수 조합에 따라 조회를 수행하여 런타임에 식별됩니다. 자격 증명을 식별하는 방법에 대한 자세한 내용은 데이터 원본 경로를 참조 하세요.
예제:
HelloWorld = [
Authentication = [
Implicit = []
],
Label = Extension.LoadString("DataSourceLabel")
];
속성
다음 표에서는 데이터 원본 정의 레코드에 대한 필드를 나열합니다.
필드 | Type | 세부 정보 |
---|---|---|
인증 | 녹화 | 데이터 원본에서 지원하는 하나 이상의 인증 유형을 지정합니다. 하나 이상의 종류가 필요합니다. 각 종류는 파워 쿼리 자격 증명 프롬프트에 옵션으로 표시됩니다. 자세한 내용은 인증 종류를 참조 하세요. |
Label | text | (선택 사항) 자격 증명 대화 상자에서 이 확장의 표시 이름입니다. |
SupportsEncryption | 논리 | (선택 사항) true이면 UI는 암호화된 연결을 사용하여 데이터 원본에 연결하는 옵션을 제공합니다. 일반적으로 암호화되지 않은 대체 메커니즘(일반적으로 ODBC 또는 ADO.NET 기반 원본)이 있는 데이터 원본에 사용됩니다. |
UI에 게시
데이터 원본 정의 레코드와 마찬가지로 게시 레코드는 데이터 가져오기 대화 상자에서 이 확장을 노출하는 데 필요한 정보를 파워 쿼리 UI에 제공합니다.
예제:
HelloWorld.Publish = [
Beta = true,
ButtonText = { Extension.LoadString("FormulaTitle"), Extension.LoadString("FormulaHelp") },
SourceImage = HelloWorld.Icons,
SourceTypeImage = HelloWorld.Icons
];
HelloWorld.Icons = [
Icon16 = { Extension.Contents("HelloWorld16.png"), Extension.Contents("HelloWorld20.png"), Extension.Contents("HelloWorld24.png"), Extension.Contents("HelloWorld32.png") },
Icon32 = { Extension.Contents("HelloWorld32.png"), Extension.Contents("HelloWorld40.png"), Extension.Contents("HelloWorld48.png"), Extension.Contents("HelloWorld64.png") }
];
속성
다음 표에서는 게시 레코드의 필드를 나열합니다.
필드 | Type | 세부 정보 |
---|---|---|
ButtonText | list | 텍스트 항목 목록입니다. 첫 번째 항목은 Power BI 데이터 가져오기 대화 상자에서 데이터 원본 아이콘 옆에 표시되는 이름을 정의합니다. 두 번째 항목(선택 사항)은 앞의 이름을 마우스로 덮을 때 표시되는 도구 팁을 정의합니다. |
범주 | text | 데이터 가져오기 대화 상자에 확장이 표시되어야 하는 위치입니다. 현재 특수 전달이 있는 유일한 범주 값은 다음과 Database 같습니다Azure . 다른 모든 값은 기타 범주에서 종료됩니다. |
베타 | 논리 | (선택 사항) true로 설정하면 UI에 커넥터 이름 옆에 미리 보기/베타 식별자가 표시되고 커넥터 구현에 호환성이 손상되는 변경이 적용된다는 경고 대화 상자가 표시됩니다. |
LearnMoreUrl | text | (선택 사항) 이 데이터 원본 또는 커넥터에 대한 자세한 정보를 포함하는 웹 사이트의 URL입니다. |
SupportsDirectQuery | 논리 | (선택 사항) 확장에 대해 직접 쿼리를 사용하도록 설정합니다. |
SourceImage | 녹화 | (선택 사항) 이진 이미지 목록을 포함하는 레코드입니다(Extension.Contents 메서드를 사용하여 확장 파일에서 원본). 레코드에는 각각 고유한 목록이 있는 두 개의 필드(Icon16, Icon32)가 포함됩니다. 각 아이콘은 서로 다른 크기여야 합니다. |
SourceTypeImage | 녹화 | (선택 사항) SourceImage와 유사하게, 대부분의 기본 커넥터에 대한 규칙은 오른쪽 아래 모서리에 원본별 아이콘이 있는 시트 아이콘을 표시하는 것입니다. SourceTypeImage에 대해 다른 아이콘 집합을 갖는 것은 선택 사항입니다. 많은 확장은 두 필드에 대해 동일한 아이콘 집합을 재사용하기만 하면 됩니다. |