다음을 통해 공유


Microsoft Dataverse 및 데이터 원본 경험 개선

개요

2021년 5월에는 이전에 선택 사항이었던 많은 기능이 이제 모든 새 앱의 기본 동작이 됩니다. 이 문서에서는 새로운 기능이 도입되기 전에 앱을 개발한 사용자에게 최신 기능을 활용하기 위해 앱을 업그레이드하는 방법에 대한 지침을 제공합니다.

기본 Dataverse

2019년 11월 이전에 Dataverse 또는 Dynamics 365 Connector를 사용하여 캔버스 앱을 만든 경우 Dataverse에 대해 현재 기본 연결 환경을 사용하는 이점이 없을 수 있습니다.

2019년 11월 이전에 앱을 만들고 기본 Dataverse 연결을 사용하지 않는 경우 예정된 기능 탭의 설정에 있는 '사용 중지됨' 탭에서 데이터 원본 환경 개선 및 Microsoft Dataverse 보기 옵션과 함께 관계형 데이터, 선택 항목 및 Microsoft Dataverse의 기타 새로운 기능을 찾을 수 있습니다.

어떻게 업그레이드하나요?

기능 설정을 검사한 후 아래 지침에 따라 앱을 업그레이드하십시오.

관계형 데이터, 옵션 집합 및 기타 Microsoft Dataverse용 새로운 기능이 꺼져 있음

예정된 기능 아래의 사용 중지됨 섹션을 확인하십시오. 꺼짐으로 설정된 경우 전환의 첫 단계로 다음 지침을 계속 진행하십시오.

일반 설정 Microsoft Dataverse에 대한 관계형 데이터, 옵션 세트 및 기타 새로운 기능이 표시되지 않거나 이미 켜짐인 경우, 다음 단계를 건너 뛰고 다음 섹션을 계속합니다.

  • 1단계: 표시 이름 사용 기능 켜기:

    1. 표시 이름 사용 기능을 켭니다.
    2. 상태 모니터가 앱 분석을 완료할 때까지 기다립니다.
    3. 앱을 저장하고, 닫고, 다시 엽니다.
    4. 모든 수식 오류를 해결하십시오.
    5. 앱을 저장하고, 닫고, 다시 엽니다.

    가능한 오류 및 제안:

    새로 표시된 표시 이름 중 일부가 다른 테이블, 필드 또는 컨트롤의 표시 이름과 충돌할 수 있습니다. 예를 들어, 이름이 같은 컨트롤과 필드가 있을 수 있습니다. 수정할 고유한 값으로 컨트롤 이름을 변경할 수 있습니다.

    필드 및 테이블 표시 이름 충돌의 경우 테이블이 필요하지만 로컬 범위 필드 이름으로 해결되는 수식이 표시될 수 있습니다.

    @ 기호가 있는 대괄호를 사용하여 테이블로 해결되도록 전역 범위를 나타냅니다(예: [@tableName]).

  • 2단계: 관계형 데이터, 옵션 집합 및 기타 Microsoft Dataverse용 새로운 기능문자열 대신 GUID 데이터 형식 사용 기능 켜기:

    1. 관계형 데이터, 옵션 집합 및 기타 Microsoft Dataverse용 새로운 기능켭니다.
    2. 문자열 대신 GUID 데이터 형식 사용 기능을 켭니다.
    3. 상태 모니터가 앱 분석을 완료할 때까지 기다립니다.
    4. 모든 수식 오류를 해결하십시오.
    5. 앱을 저장하고, 닫고, 다시 엽니다.

    가능한 오류 및 제안:

    선택 필드 또는 하드 코딩된 GUID 텍스트 값을 사용하는 경우 이 단계에서 오류가 발생할 수 있습니다.

    • 선택 값: 선택 값에 대한 텍스트 식별자가 있는 선택 필드를 사용하는 경우 선택 값을 참조하는 대신 점 표기법을 사용합니다. 예를 들어, Patch(Accounts, OptionSet1 = “12345”)Item112345 값에 해당하는 Patch(Accounts, OptionSet.Item1)로 변경합니다.
      추가 정보: 세부 예시.
    • GUID: 015e45e1044e49f388115be07f2ee116과 같이 정적 GUID 문자열을 사용하는 경우 GUID 개체를 반환하는 GUID(“015e45e1044e49f388115be07f2ee116”)과 같은 함수로 변환하십시오.
    • 조회: Lookup 함수를 사용하여 Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”)과 같은 첫 번째 수준 조회 값을 가져 오는 경우 ThisItem.PrimaryContacts(여기서 PrimaryContacts는 테이블 이름)을 대신 사용하는 것을 고려해봅니다.

데이터 원본 경험 및 Microsoft Dataverse 보기 향상이 꺼져 있음

데이터 원본 경험 및 Microsoft Dataverse 보기 향상 기능을 켜려면 다음 지침을 사용하십시오.

  1. 기존 Dataverse 데이터 원본 연결을 제거합니다.
  2. 데이터 원본 경험 및 Microsoft Dataverse 보기 향상 기능을 켭니다.
  3. 새로운 데이터 원본 선택 환경을 사용하여 Dataverse 연결을 추가합니다.
  4. 애플리케이션을 저장합니다.

참고

응용 프로그램이 매우 큰 경우 데이터 원본 연결을 다시 추가하는 데 시간이 걸릴 수 있습니다. 이 과정에서 응용 프로그램을 닫지 마십시오.

Dynamics 365 Connector를 사용하여 캔버스 앱 변환

Dynamics 365 Connector를 사용하는 앱을 변환하려면 데이터 원본에 대한 연결을 제거하고 추가해야 합니다. 아래 단계를 사용하여 연결을 데이터 원본으로 변환하십시오.

  1. 데이터 원본 경험 및 Microsoft Dataverse 보기 향상 기능이 켜져 있는지 확인합니다.

  2. 기존 Dynamics 365 데이터 원본 연결을 제거합니다.

  3. 새로운 데이터 원본 선택 환경을 사용하여 데이터 원본에 Dataverse에 대한 연결을 추가합니다.

    참고

    • 다른 환경(현재 환경 제외)에 연결되어 있는 경우 범주를 선택한 다음 자세히(...) 옵션을 선택하여 환경을 변경합니다. 그런 다음 다른 환경에서 테이블을 선택하여 애플리케이션에 추가할 수 있습니다. 교차 테넌트 연결은 향상된 기본 커넥터에서 작동하지 않습니다. 데이터 교차 테넌트에 액세스하려면 데이터 통합을 사용해야 합니다.
    • 연결을 추가할 환경을 보려면 다음 요구 사항 중 하나를 충족해야 합니다.
      • 앱의 소유자이거나 앱의 공동 소유자로서 앱을 공유합니다.
      • 보안 역할인 환경 관리자, 환경 결정자 또는 시스템 관리자 중 하나의 구성원입니다. 환경의 보안 역할에 대한 자세한 내용은 환경의 리소스에 대한 사용자 보안 구성을 참조하십시오.
  4. 애플리케이션을 저장합니다.

가능한 오류 및 제안:

표시 이름을 사용하지 않는 경우, GUID 문자열을 사용하는 경우 또는 선택 항목을 사용하는 경우 변환할 때 오류가 발생할 수 있습니다.

  • 컨트롤 이름이 충돌하면 컨트롤 이름을 고유한 다른 이름으로 변경하십시오.
  • 필드 및 테이블 표시 이름 충돌의 경우 테이블이 필요하지만 보다 로컬 범위 필드 이름으로 해결되는 수식이 표시될 수 있습니다. @ 기호가 있는 대괄호를 사용하여 테이블로 해결되도록 전역 범위를 나타냅니다(예: [@tableName]).
  • 선택 값: 선택 값에 대한 텍스트 식별자가 있는 선택 필드를 사용하는 경우 선택 값을 참조하는 대신 점 표기법을 사용합니다. 예를 들어, Patch(Accounts, OptionSet1 = “12345”)Item112345 값에 해당하는 Patch(Accounts, OptionSet.Item1)로 변경합니다.
    추가 정보: 세부 예시.
  • GUID: 015e45e1044e49f388115be07f2ee116과 같이 정적 GUID 문자열을 사용하는 경우 GUID 개체를 반환하는 GUID(“015e45e1044e49f388115be07f2ee116”)과 같은 함수로 변환하십시오.
  • 조회: Lookup 함수를 사용하여 Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”)과 같은 첫 번째 수준 조회 값을 가져 오는 경우 ThisItem.PrimaryContacts(여기서 PrimaryContacts는 테이블 이름)을 대신 사용하는 것을 고려해봅니다.
  • 다형성 참조에 대해서는 아래의 자세한 예 섹션을 참조하십시오.

자세한 예

앱을 변환하여 지원 컨트롤이 있는 새 옵션 집합두 가지 옵션 데이터 유형을 사용하는 것은 어려울 수 있으며, 앱을 업그레이드하여 새로운 데이터 원본 경험 및 Microsoft Dataverse 보기 개선 기능을 사용할 수 있습니다.

다중 선택

이전에 _myfield_myfield_label 필드가 선택되었습니다. 이제 로케일 독립 비교에 사용할 수 있고 로케일 특정 레이블을 얻기 위해 사용할 수 있는 단일 myfield가 있습니다.

선택 데이터 카드 제거 및 추가

기존 데이터 카드를 제거했다가 다시 추가하여 선택한 항목에 맞게 작업하는 것이 좋습니다. 예를 들어 계정 테이블 및 범주 선택 사항으로 작업하는 경우 데이터의 DataField 속성이 _accountcategorycode_label로 설정된 것을 확인할 수 있습니다. 필드 목록에서 데이터 카드의 유형이 문자열인 것을 알 수 있습니다.

이전 스타일 이름을 가진 OptionSet.

새로운 향상된 데이터 원본 경험 및 Microsoft Dataverse 보기 기능에서 더 이상 _accountcategorycode_label을 볼 수 없습니다. accountcategorycode로 교체됩니다. 귀하의 카드는 이제 사용자 지정으로 표시되며 오류가 표시됩니다. 이전 데이터 카드를 제거하고 다시 선택을 추가합니다. 새 데이터 카드 선택이 인식됩니다.

새 스타일 이름이 있는 OptionSet.

새 구문을 사용하도록 선택 필터 식 편집

이전에는 필터 식에서 선택 값을 사용하려면 필드를 사용해야 했습니다.. 예:

Filter(Account,'Category Value' = "1")

이 수식을 편집해야 합니다. 선택 텍스트 식별자는 더 이상 값에 사용되지 않습니다. 이 식은 다음으로 업데이트되어야 합니다.

Filter(Account, Category= ‘Category (Accounts)’.’Preferred Customer’)

'Category(Accounts)'는 계정 테이블의 범주 필드에 사용되는 열거형의 이름입니다. 이것은 지역 선택입니다. 로컬 및 전역 선택에 대한 내용은 전역 선택에서 확인할 수 있습니다.

새 구문을 사용하도록 선택 Patch 문 편집

다음은 선택할 수 있는 이전 Patch 문의 예입니다.

Patch( Accounts, First(Accounts), { ‘Category Value’: 1 } ) )

이 양식을 따르려면 문을 업데이트해야 합니다.

Patch( Accounts, First(Accounts), { Category: ‘Category (Accounts)’.’Preferred Customer’ } )

선택 명확성

선택 필드의 표시 이름 및 선택 항목의 이름이 동일하면 수식을 명확하게 구분해야 합니다. 계정 범주 코드 예제를 계속 사용하려면 @ 는 필드가 아닌 선택을 사용함을 의미합니다.

Filter(Accounts, 'Category Code' = [@’Category Code’].'Preferred Customer')

두 개 옵션

예/아니요 데이터 카드 제거 및 추가

기존 데이터 카드를 제거하고 예/아니요로 작동하도록 다시 추가하는 것이 좋습니다. 데이터 유형은 이전에 레이블이 없는 true/on 및 false/off와 같은 단순 부울로 인식되었습니다.

예/아니요 - 이전 스타일.

새로운 향상된 데이터 원본 경험 및 Microsoft Dataverse 보기 기능에서 카드는 이제 사용자 지정으로 표시되고 오류가 표시됩니다. 이전 데이터 카드를 제거하고 다시 선택을 추가합니다. 추가하면 기본적으로 두 가지 옵션이 있는 편집 컨트롤이 표시됩니다.

예/아니요 - 새 스타일.

부울 필드에 토글 스위치를 선호하는 경우 데이터 카드의 잠금을 해제하고 대신 데이터 카드의 컨트롤을 토글로 바꿀 수 있습니다. 또한 토글에서 이러한 속성을 설정해야 합니다.

Toggle1.Default = ThisItem.’Do not allow Bulk Emails’
Toggle1.TrueText = ‘Do not allow Bulk Emails (Accounts)’.’Do Not Allow’
Toggle1.FalseText = ‘Do not allow Bulk Emails (Accounts)’.Allow
DataCard.Value = If( Toggle1.Value,
    ‘Do not allow Bulk Emails (Accounts)’.’Do Not Allow’,
    ‘Do not allow Bulk Emails (Accounts)’.Allow )

두 개 옵션 토글 스위치.

두 개 옵션 패치 문 수정

두 가지 옵션으로 Patch 함수를 사용하는 것은 '있는 그대로' 작동해야 합니다. 부울과 유사한 true 및 false의 직접 사용을 지원합니다. 유일한 차이점은 True 및 False를 표시한 레이블 컨트롤에 값을 넣은 경우 이제 두 개의 옵션 레이블이 대신 표시된다는 것입니다.

다형성 조회

응용 프로그램이 다형성 필드를 참조한 경우 다음 지침에 따라 업그레이드할 수 있습니다. 동일한 필드의 다형 조회는 제한된 여러 테이블 집합에 대한 참조를 지원합니다. 다른 언어의 참조와 마찬가지로 레코드 참조는 특정 테이블의 특정 레코드에 대한 포인터입니다. 레코드 참조는 다른 여러 테이블의 레코드를 가리킬 수 있도록 테이블 정보를 전달하며, 이는 한 테이블의 레코드만 가리킬 수 있는 일반 조회와 다릅니다.

레코드의 담당자 필드에 액세스, 설정 및 필터링

예를 들어 테이블의 담당자 필드는 사용자 테이블 또는 팀 테이블의 레코드를 참조할 수 있습니다. 다른 레코드의 동일한 조회 필드가 다른 테이블의 레코드를 참조할 수 있습니다.

다형성 담당자 필드.

필터 및 패치가 있는 다형성

레코드 참조는 전체 레코드처럼 사용할 수 있습니다.

Filter( Accounts, Owner = First( Teams ) )
Patch( Accounts, First( Accounts ), { Owner: First( Users ) })

참조는 다른 테이블을 가리킬 수 있으므로 구체적이어야 합니다. 테이블의 이름 필드가 팀 이름, 사용자 테이블의 이름 필드가 전체 이름이므로 ThisItem.Owner.Name를 사용할 수 없습니다. Power Apps는 앱을 실행할 때까지 어떤 유형의 조회를 참조하는지 알 수 없습니다.

이 문제를 해결하려면

  1. 담당자가 될 수 있는 엔터티 유형에 대한 데이터 원본을 추가합니다. 현재 예시에서는 사용자 및 팀입니다.
  2. 더 많은 함수를 사용하여 의도를 명확하게 구분합니다.

사용할 수 있는 두 가지 새로운 함수가 있습니다.

  • IsType – 레코드 참조가 특정 테이블 유형인지 확인합니다.
  • AsType – 레코드 참조가 특정 테이블 유형으로 캐스트합니다.

이러한 함수를 사용하면 담당자의 테이블 유형을 바탕으로 서로 다른 두 필드에서 가져온 담당자의 이름을 표시하는 수식을 작성할 수 있습니다.

If( IsType( ThisItem.Owner,  [@Teams]), 
    AsType( ThisItem.Owner, [@Teams]).'Team Name', 
    AsType( ThisItem.Owner, [@Users]).'Full Name' )

As Type이 있는 갤러리.

[@Teams][@Users]의 전역 명확성 연산자는 전역 테이블 유형을 참조하도록 하는데 사용됩니다. 이 경우에는 필요하지 않지만 항상 명확하게 하는 것이 좋습니다. 일대다 관계는 종종 갤러리의 레코드 범위에서 충돌하므로 이 방법으로 혼동을 피할 수 있습니다.

연락처 테이블의 회사 이름 필드(고객 데이터 유형)에 액세스하고 설정합니다

고객 조회 필드는 담당자와 유사한 다형성 조회입니다. 테이블당 담당자 필드를 하나만 사용할 수 있습니다. 그러나 테이블에는 0개, 1개 또는 그 이상의 고객 조회 필드가 포함될 수 있습니다. 연락처 시스템 테이블에는 고객 조회 필드인 회사 이름 필드가 있습니다. 자세한 사항은 고객의 필드 표시를 읽어 보세요.

팩스, 전화 통화, 이메일 메시지와 같은 활동 테이블의 관련 항목 필드에 액세스하고 설정합니다

다형성 조회는 거래처 및 연락처로 제한되지 않습니다. 테이블 목록은 사용자 지정 테이블로 확장할 수 있습니다. 예를 들어, 팩스 테이블에는 계정, 연락처 및 기타 테이블을 참조할 수있는 다형성 관련 항목 조회 필드가 있습니다. 데이터 원본이 팩스로 설정된 갤러리가 있는 경우 다음 수식을 사용하여 관련 항목 조회 필드와 관련된 이름을 표시할 수 있습니다.

If( IsBlank( ThisItem.Regarding ), "",
   IsType( ThisItem.Regarding, [@Accounts] ),
       "Account: " & AsType( ThisItem.Regarding, [@Accounts] ).'Account Name',
   IsType( ThisItem.Regarding, [@Contacts] ),
       "Contacts: " & AsType( ThisItem.Regarding, [@Contacts] ).'Full Name',
   "" )

관련 항목이 있는 갤러리.

자세한 사항은 관련 항목 조회 필드관련 항목 관계 for more details.를 읽어 보세요.

레코드에 대한 모든 활동 목록에 액세스

Dataverse에서 팩스, 작업, 이메일, 메모, 전화 통화, 편지 및 채팅과 같은 테이블은 활동으로 지정됩니다. 자신만의 사용자 지정 활동 테이블을 만들 수도 있습니다.

특정 유형의 활동(예: 팩스 또는 세금) 또는 계정과 같이 테이블과 연관된 모든 활동을 표시할 수 있습니다. 캔버스 앱에 표시할 데이터가 있는 활동 테이블 및 기타 개별 테이블을 추가합니다.

테이블에 레코드를 추가할 때마다(예: 작업 테이블), 모든 활동 테이블에 공통된 필드가 있는 활동 테이블의 레코드가 생성됩니다. 자세한 사항은 활동 테이블을 참고하세요.

다음 예는 거래처를 선택할 때 해당 거래처와 연관된 모든 활동이 표시됨을 보여줍니다.

다형성 활동.

활동 테이블에서 레코드가 표시됩니다. 하지만 여전히 IsType 함수를 사용하여 어떤 종류의 활동인지 식별할 수 있습니다. 테이블 유형과 함께 IsType을 사용하기 전에 필요한 데이터 원본를 추가해야 합니다.

이 수식을 사용하면 갤러리의 레이블 컨트롤에 레코드 종류를 표시할 수 있습니다.

If( IsType( ThisItem, [@Faxes] ), "Fax",
   IsType( ThisItem, [@'Phone Calls'] ), "Phone Call",
   IsType( ThisItem, [@'Email Messages'] ), "Email Message",
   IsType( ThisItem, [@Chats] ), "Chat",
   "Unknown")

새로운 Polymorphic-IsType.

레코드에 대한 메모 목록에 액세스

테이블을 생성할 때 첨부 파일을 활성화할 수 있습니다. 첨부 파일을 활성화하기 위한 확인란을 선택한 경우 다음 그래픽이 계정 테이블에 대해 표시하는 것처럼 메모 테이블과 관련 항목 관계를 생성합니다.

메모 필드.

필터링

관련 항목 필드를 기반으로 읽거나 필터링할 수 없습니다. 그러나 역방향 메모 일대다 관계는 사용 가능합니다. 계정 테이블과 연관된 모든 메모를 나열하려면 다음 수식을 사용할 수 있습니다.

First( Accounts ).Notes
Patch

Patch를 사용하여 테이블에 메모 필드를 설정할 수 없습니다. 테이블의 메모 테이블에 레코드를 추가하려면 Relate 함수를 사용할 수 있습니다. 이 예에서와 같이 먼저 메모를 작성하십시오.

Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note", isdocument:'Is Document (Notes)'.No } ) )

다음 단계

참조

Dataverse란?

참고

귀사의 설명서 언어 기본 설정에 대해 말씀해 주시겠습니까? 간단한 설문 조사에 응해주세요. (이 설문 조사는 영어로 되어 있습니다.)

이 설문 조사는 약 7분 정도 걸립니다. 개인 데이터는 수집되지 않습니다(개인정보처리방침).