다음을 통해 공유


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

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

위임 사용

데이터 페이로드를 작게 유지하는 한 가지 주요 방법은 Power Apps에 도달하기 전에 데이터 원본에 의존하여 작업을 수행하는 것입니다. 위임 은 Power Fx가 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에서는 이 기능을 지원하지 않습니다. 따라서 SharePoint용 CountRows 또는 CountIf가 포함된 Power Fx 식은 위임되지 않습니다. 대신 Power Apps는 제한된 수의 행(500~2000개)을 다운로드합니다. Power Fx는 500/2000 레코드에서 로컬로 작동하고 결과를 반환합니다. 데이터가 항상 500/2000개 레코드 미만인 경우 이 접근 방식이 작동할 수 있습니다. 그러나 레코드가 500/2000개보다 크면 잘못된 결과가 나올 수 있습니다.

너무 많은 열 방지

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

제안

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

  1. 갤러리나 테이블에 대한 기본 쿼리가 대략 100~200개의 레코드만 반환하도록 목표로 하세요. 위임 가능한 쿼리를 사용하면 이 작업이 자동으로 수행됩니다. 위임을 지원하지 않는 API 또는 기타 소스를 쿼리하는 경우 매개 변수를 사용하여 결과를 구체화하세요.

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