Partager via


Charges utiles de petites données : limiter la quantité de données que vous obtenez

L’un des modèles les plus importants pour les applications de données d’entreprise consiste à limiter la taille des données que vous extrayez dans Power Apps. Si les charges utiles de données sont petites, presque tout le reste est plus facile. Les contrôles Galerie et Table effectuent cette opération automatiquement lorsque vous vous connectez directement à la source de données dans la propriété Items. Par exemple, lorsqu’elle est connectée directement à un source de données distant, une Galerie contrôle les données par petits incréments, par exemple 100 enregistrements. Cette valeur par défaut tire parti du fait qu’un utilisateur final a rarement rarement besoin de plus d’une centaine d’enregistrements pour une tâche utilisateur.

Utiliser la délégation

L’une des principales façons de conserver les charges utiles de données est de s’appuyer sur la source de données pour effectuer le travail à votre place avant que les données n’atteignent Power Apps. La délégation est quand Power Fx peut traduire une expression Power Fx en expression de requête qu’une source de données telle que Dataverse, SQL Server, SharePoint et Excel peut gérer elle-même. Et, puis Power Fx délègue cette requête, ou donne la responsabilité d’effectuer le travail de requête, le mashup de données, à la source de données. La source de données produit les données correctes et les retourne à Power Apps.

Lorsque la source de données est directement liée à une galerie ou à une table, les données sont paginées ou renvoyées à Power Apps par petits incréments efficaces de 100 enregistrements. Différentes sources de données ont des fonctionnalités différentes. Dataverse, par exemple, offre de nombreuses fonctionnalités supplémentaires pour filtrer les données sur le serveur que Excel. Un bon exemple est CountRows et CountIf. Dataverse prend en charge CountRows de manière limitée. Dataverse calcule régulièrement la taille de la table et conserve cette valeur. Lorsque CountRows est appelé, vous recevez cette valeur. De cette façon, il n’est pas obligé d’effectuer une analyse complète de table pour obtenir le numéro exact de chaque appel CountRows. Mais Dataverse prend également en charge un nombre exact avec CountIf jusqu’à 50 000 lignes. Il fournit ces deux fonctionnalités différentes comme moyen de préserver de bonnes performances du serveur Dataverse. En revanche, SharePoint ne prend pas en charge cette fonction. Par conséquent, une expression Power Fx avec CountRows ou CountIf pour SharePoint n’est pas déléguée. Au lieu de cela, Power Apps télécharge un nombre limité de lignes, 500 à 2000. Power Fx fonctionne sur les enregistrements 500/2000 localement et retourne un résultat. Si vos données sont toujours inférieures à 500/2000 enregistrements, cette approche peut fonctionner. Mais s’il est supérieur à 500/2000 enregistrements, vous risquez d’obtenir des résultats incorrects.

Éviter un trop grand nombre de colonnes

Par défaut, Power Apps calcule les colonnes réelles dont vous avez besoin pour une requête donnée à l’aide d’un appel de fonctionnalité de sélection de colonnes explicite. Cette fonctionnalité est activée par défaut pour toutes les nouvelles applications. Pour activer la fonctionnalité de sélection de colonne explicite sur l’application de canevas, accédez à Paramètres>Fonctionnalités à venir>Aperçu> et activez le bouton de bascule Sélection de colonne explicite.

Suggestions

Pour atteindre l’objectif d’une petite charge utile de données, tenez compte des questions et suggestions suivantes :

  1. Veillez à ce que la requête par défaut d'une galerie ou d'une table ne renvoie qu'environ 100 à 200 enregistrements. Si vous utilisez une requête délégable, cela se produit automatiquement. Si vous interrogez une API ou une autre source qui ne prend pas en charge la délégation, utilisez des paramètres pour affiner les résultats.

    • Envisagez d’utiliser une vue basée sur une source de données qui filtre automatiquement les données. La plupart des applications de niveau entreprise utilisent fortement les vues sur la source de données.
    • Envisagez d’utiliser des valeurs de recherche ou de filtre par défaut pour étendre les données.
    • Envisagez d’exiger des arguments de recherche dans l’interface utilisateur avant d’afficher les données.
    • Tenez compte de ces questions sur votre application :
      • Qu’est-ce qui est nécessaire sur un écran donné par défaut ?
      • Quelles données l’utilisateur final a-t-il vraiment besoin d’effectuer une action métier donnée ?
      • Les utilisateurs n’ont généralement pas besoin de milliers d’enregistrements sur un écran initial pour accomplir une tâche.
  2. Commencez à générer votre requête pour une galerie ou une table à l’aide des tables de délégation pour votre source de données. Choisissez uniquement les fonctions prises en charge pour votre requête. Si votre requête n’est pas délégable, que pouvez-vous faire pour la déléguer ?