Syntaxe
|
Index( Table, RecordIndex )
|
Paramètres
| Nom |
Description |
| Table |
Ce paramètre représente la table contenant les enregistrements parmi lesquels nous voulons accéder à un enregistrement basé sur sa position. |
| RecordIndex |
Ce paramètre représente l'indice ou la position de l'enregistrement que l'on souhaite récupérer dans la table, en commençant à partir de 1 pour le premier enregistrement. |
Description
Cette fonction permet de retourner un enregistrement d'une table basé sur sa position ordonnée dans la table.
Remarques
- Accès direct à un enregistrement précis : La fonction Index(Table, RecordIndex) permet d'extraire un enregistrement spécifique dans une table en se
basant sur sa position. Cela est particulièrement utile lorsqu'on souhaite accéder rapidement à un élément précis, sans avoir à filtrer ou parcourir toute la
collection.
- L'index commence à 1, pas à 0 : Contrairement à de nombreux langages de programmation où les index commencent à 0, Power Fx commence à compter à partir
de 1. Ainsi, Index(MaTable, 1) retourne le premier élément, ce qui peut éviter certaines erreurs mais nécessite d'adapter ses habitudes de codage si l'on vient d'un
autre langage.
- Utile avec des listes triées : Lorsqu'une table est triée selon un critère spécifique à l'aide de Sort() ou SortByColumns(), Index() peut être utilisé
pour récupérer, par exemple, le premier ou le dernier élément selon cet ordre. Cela permet de construire des règles comme « afficher le produit le plus cher » ou
« le plus récent ».
- Combinable avec des fonctions de filtrage : On peut combiner Index() avec des fonctions comme Filter() ou Search() pour d'abord restreindre un
sous-ensemble d'enregistrements, puis accéder à un enregistrement précis dans ce sous-ensemble. Cela augmente sa puissance dans les scénarios interactifs ou
conditionnels.
- Renvoie une record complet : La fonction retourne un enregistrement complet (record) et non simplement une valeur unique. Il faut donc utiliser le
point (.) pour accéder à un champ particulier, comme Index(MaTable, 2).Nom pour obtenir uniquement le champ Nom du deuxième enregistrement.
- Attention aux dépassements d'index : Si l'on fournit un RecordIndex supérieur au nombre total de lignes dans la table, la fonction retourne une erreur.
Il est donc recommandé d'utiliser CountRows() pour s'assurer que l'index demandé est bien compris dans les limites de la table, surtout dans des contextes dynamiques.
- Simplifie l'accès sans créer de boucle : Index() évite d'avoir à écrire des boucles ou des fonctions plus complexes pour parcourir une table et extraire un
élément spécifique. Cela rend les formules plus claires, plus concises, et réduit le risque d'erreurs logiques.
- Idéal pour l'affichage sélectif : Dans une application Power Apps, Index() est pratique pour afficher un enregistrement particulier dans une carte ou une
composante d'interface, sans devoir configurer une galerie complète. Il peut servir à présenter un aperçu rapide ou un résumé d'un élément déterminé par sa position.
Dernière mise à jour : Jeudi, le 1 Mai 2025