Partager via


Petites charges utiles de données : limitez la quantité de données que vous obtenez

L’un des principes les plus importants pour les applications de données d’entreprise consiste à limiter la taille des données que vous récupérez de Power Apps. Si les charges utiles de données sont petites, presque tout le reste devient plus facile. Les contrôles Galerie et Table le font automatiquement pour vous lorsque vous vous connectez directement au 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 exploite le fait qu’un utilisateur final a rarement besoin de plus d’une centaine d’enregistrements pour une tâche utilisateur.

Utiliser la délégation

Un moyen essentiel de réduire les charges utiles de données consiste à s’appuyer sur source de données pour qu’il effectue le travail à votre place avant qu’il n’arrive à Power Apps. La délégation c’est quand Power Fx peut traduire une expression Power Fx en expression de requête qu’un source de données tel que Dataverse, SQL Server, SharePoint, et Excel peut gérer tout seul. Ensuite, Power Fx délègue cette requête, ou donne la responsabilité d’effectuer le travail de requête, l’application composite de données, au source de données. Le source de données produit les données correctes et les renvoie à Power Apps.

Lorsque le source de données est lié directement à une galerie ou à une table, les données sont paginées ou restituées à Power Apps par petits incréments performants de 100 enregistrements. Différentes sources de données ont des capacités différentes. Dataverse, par exemple, a beaucoup plus de capacités pour filtrer les données sur le serveur qu’Excel. Un bon exemple est CountRows et CountIf. Dataverse prend en charge CountRows de manière limitée. Dataverse calcule périodiquement la taille de la table et conserve cette valeur. Lorsque CountRows est appelé, cette valeur vous est attribuée. De cette façon, il n’est pas nécessaire d’effectuer une analyse complète de la table pour obtenir le numéro exact de chaque appel CountRows. Mais Dataverse prend également en charge un décompte exact avec CountIf jusqu’à 50 000 lignes. Il fournit ces deux fonctionnalités différentes afin de contribuer à préserver les bonnes performances du serveur Dataverse. En revanche, SharePoint ne prend pas en charge cette fonction. Ainsi, 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, entre 500 et 2 000. Power Fx travaille localement sur les enregistrements 500/2000 et renvoie un résultat. Si vos données comportent toujours moins de 500/2 000 enregistrements, cette approche peut fonctionner. Mais s’il est supérieur à 500/2 000 enregistrements, vous risquez d’obtenir des résultats incorrects.

Évitez d’avoir 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é Sélection explicite de colonnes. cette fonctionnalité est activée par défaut pour toutes les nouvelles applications. Pour activer la fonction de sélection de colonne explicite sur l’application canevas, accédez à Paramètres > Fonctionnalités à venir > Aperçu, puis activez le bouton à bascule Sélection de colonne explicite.

Suggestions

Pour atteindre l’objectif d’une petite charge utile de données, considérez les questions et suggestions suivantes :

  1. Visez à ce que la requête par défaut pour une galerie ou 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.

    • Pensez à utiliser une vue basée sur source de données qui filtre automatiquement les données. La plupart des applications d’entreprise utilisent largement les vues sur source de données.
    • Pensez à utiliser des valeurs de recherche ou de filtre par défaut pour définir la portée des données.
    • Pensez à exiger des arguments de recherche dans l’interface utilisateur avant d’afficher les données.
    • Considérez ces questions concernant votre application :
      • Qu’est-ce qui est nécessaire sur un écran donné par défaut ?
      • De quelles données l’utilisateur final a-t-il réellement besoin pour entreprendre une action commerciale 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 à créer votre requête pour une galerie ou une table en utilisant les 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 rendre délégable ?