다음을 통해 공유


작은 데이터 페이로드 - 가져오는 데이터 양 제한

엔터프라이즈 데이터 앱의 가장 중요한 패턴 중 하나는 Power Apps로 가져오는 데이터의 크기를 제한하는 것입니다. 데이터 페이로드가 작으면 거의 모든 것이 더 쉬워집니다. 갤러리 및 테이블 컨트롤은 Items 속성의 데이터 원본에 직접 연결할 때 자동으로 이 작업을 수행합니다. 예를 들어 원격 데이터 원본에 직접 연결된 경우 갤러리 컨트롤 페이지는 100개 레코드와 같이 작은 증분 단위로 데이터를 제어합니다. 이 기본값은 최종 사용자가 실제로 사용자 작업에 100개 이상의 레코드를 필요로 하지 않는다는 사실을 활용합니다.

위임 사용

데이터 페이로드를 작게 유지하는 한 가지 주요 방법은 Power Apps에 도착하기 전에 데이터 원본에 의존하여 작업을 수행하는 것입니다. 위임 은 Power Fx 식을 Dataverse, SQL Server, SharePoint 및 Excel과 같은 데이터 원본이 자체적으로 처리할 수 있는 쿼리 식으로 변환할 수 있는 경우입니다. 그런 다음 Power Fx는 해당 쿼리를 위임하거나 쿼리 작업인 데이터 매시업을 데이터 원본에 수행해야 하는 책임을 부여합니다. 데이터 원본은 올바른 데이터를 생성하고 Power Apps에 반환합니다.

데이터 원본이 갤러리 또는 테이블에 직접 바인딩되면, 데이터는 100개 레코드 단위로 성능을 고려하여 페이지화되어 Power Apps에 전달됩니다. 데이터 원본에 따라 기능이 다릅니다. 예를 들어 Dataverse에는 Excel보다 서버에서 데이터를 필터링하는 기능이 더 많습니다. 좋은 예는 CountRows 및 CountIf입니다. Dataverse는 제한된 방식으로 CountRows를 지원합니다. Dataverse는 테이블의 크기를 주기적으로 계산하고 해당 값을 유지합니다. CountRows가 호출되면 해당 값이 제공됩니다. 이렇게 하면 모든 CountRows 호출에 대한 정확한 번호를 가져오기 위해 전체 테이블 검사를 수행할 필요가 없습니다. 그러나 Dataverse는 CountIf에서 최대 50,000개의 행으로 정확한 개수를 지원합니다. Dataverse 서버의 성능을 유지하는 데 도움이 되는 방법으로 이러한 두 가지 기능을 제공합니다. 반면 SharePoint는 이 함수를 지원하지 않습니다. 따라서 Power Fx 식에서 SharePoint에 대해 CountRows 또는 CountIf를 사용하는 경우, 이는 위임되지 않습니다. 대신 Power Apps는 제한된 수의 행(500~2000개)을 다운로드합니다. Power Fx는 로컬에서 500/2000 레코드에서 작동하며 결과를 반환합니다. 데이터가 항상 500/2000보다 작은 경우 이 방법이 작동할 수 있습니다. 그러나 레코드가 500/2000보다 크면 잘못된 결과를 얻을 수 있습니다.

너무 많은 열 방지

기본적으로 Power Apps는 명시적 열 선택 기능 호출을 사용하여 지정된 쿼리에 필요한 실제 열을 계산합니다. 이 기능은 기본적으로 모든 새 앱에 대해 설정됩니다. 캔버스 앱에서 명시적 열 선택 기능을 켜려면 예정된 설정>기능>미리 보기> 로 이동하여 명시적 열 선택 토글을 켭니다.

Suggestions

작은 데이터 페이로드의 목표를 달성하려면 다음 질문과 제안을 고려하세요.

  1. 갤러리 또는 테이블에 대한 기본 쿼리는 약 100~200개 레코드만 반환하는 것을 목표로 합니다. 위임 가능한 쿼리를 사용하는 경우 자동으로 발생합니다. API 또는 위임을 지원하지 않는 다른 원본을 쿼리하는 경우 매개 변수를 사용하여 결과를 구체화합니다.

    • 데이터를 자동으로 필터링하는 데이터 원본 기반 뷰를 사용하는 것이 좋습니다. 대부분의 엔터프라이즈급 앱은 데이터 원본에 대한 보기를 많이 사용합니다.
    • 기본 조회 또는 필터 값을 사용하여 데이터 범위를 지정하는 것이 좋습니다.
    • 데이터를 표시하기 전에 UI에서 검색 인수를 요구하는 것이 좋습니다.
    • 앱에 대한 다음 질문을 고려합니다.
      • 기본적으로 지정된 화면에 필요한 것은 무엇인가요?
      • 최종 사용자가 실제로 지정된 비즈니스 작업을 수행해야 하는 데이터는 무엇인가요?
      • 사용자는 일반적으로 작업을 수행하기 위해 초기 화면에 수천 장의 레코드가 필요하지 않습니다.
  2. 데이터 원본에 대한 위임 테이블을 사용하여 갤러리 또는 테이블에 대한 쿼리 빌드를 시작합니다. 쿼리에 지원되는 함수만 선택합니다. 쿼리를 위임할 수 없는 경우 위임할 수 있도록 하려면 어떻게 해야 할까요?