Indexation des enregistrements
L'indexation crée un fichier d'index (fichier .inx) qui permet d'accéder aux enregistrements d'une table Analytics dans un ordre séquentiel plutôt que dans un ordre physique (c'est-à-dire l'ordre des données brutes).
Elle ne réorganise pas physiquement les données dans les tables. Néanmoins, si l'index d'une table est actif, les données de la vue sont réorganisées conformément à l'ordre spécifié par l'index, et des opérations analytiques traitent les données en fonction de cet ordre. Si une table comporte plusieurs vues, elles sont toutes soumises à un index actif.
Si un index est actif, le mot Indexé précède le compte d'enregistrements dans la barre d'état. Par exemple : Enregistrements indexés : 500.
Si l'index est inactif, l'ordre physique d'origine des enregistrements d'une vue est rétabli. À l'ouverture d'une table Analytics, les index existants sont inactifs par défaut.
Remarque
Trier les enregistrements est une alternative à leur indexation, et ce peut être un meilleur choix dans certaines situations. Pour plus d'informations, consultez la section Dois-je trier ou indexer ?
Indexation et type de champ
Vous pouvez indexer tout type de champ, y compris les champs calculés et les expressions ad hoc, et ce quel que soit le type de données.
L'indexation des champs logiques nécessite la sélection de l'option Inclure les filtres dans les listes (Outils > Options > Interface).
Plusieurs index pour une seule table
Vous pouvez créer plusieurs index pour une seule et même table et basculer au besoin entre les index, ce qui peut être utile lors de l'évaluation initiale d'un ensemble de données. Un seul index peut être actif à la fois.
Indexation imbriquée
Vous pouvez indexer des enregistrements à l'aide d'un champ clé ou créer des modèles d'indexation imbriquée en indexant sur la base de plusieurs champs clés (champ clé primaire, champ clé secondaire, etc.).
L'indexation imbriquée prend en charge aussi bien l'ordre croissant que l'ordre décroissant, ainsi que différents types de données dans les champs clés.
Indexation imbriquée avec ordres croissant et décroissant
Vous souhaitez voir les montants de transaction les plus élevés pour chaque jour dans une table de transactions non triée. Vous indexez la table dans l'ordre croissant sur la base d'un champ clé date, et, à l'intérieur de chaque journée, dans l'ordre décroissant sur la base d'un champ clé montant.
|
Champ date (croissant) |
Champ montant (décroissant, imbriqué) |
|---|---|
|
15 jan 2011 |
2300,00 € |
|
15 jan 2011 |
1200,00 € |
|
15 jan 2011 |
600,00 € |
|
16 jan 2011 |
900,00 € |
|
16 jan 2011 |
100,00 € |
|
17 jan 2011 |
4700,00 € |
|
17 jan 2011 |
900,00 € |
|
17 jan 2011 |
500,00 € |
L'indexation est limitée aux tables Analytics
L'indexation est limitée aux tables Analytics, c'est-à-dire aux tables pourvues d'un fichier de données source .fil. Vous pouvez indexer des tables Analytics locales et sur serveur si elles possèdent des fichiers .fil.
Vous ne pouvez pas indexer les tables de base de données auxquelles vous vous connectez à l'aide d'un profil de base de données, car elles sont dépourvues de fichier .fil. Les données sont lues directement à partir de la base de données. Pour trier les données dans cette situation, vous pouvez utiliser une instruction SQL ORDER dans l'Assistant de définition de données tout en accédant à la base de données.
Indexation obligatoire pour certaines commandes Analytics
L'indexation est une condition préalable pour utiliser les options Rechercher littéral et Expression recherchée dans la boîte de dialogue Rechercher lors de recherches dans les tables Analytics. (Ces options équivalent aux commandes FIND et SEEK.)
Ces options sont disponibles uniquement si :
- une table est indexée ;
- l'index est actif ;
- le champ de clé primaire de l'index est un champ de type caractère indexé dans l'ordre croissant
La table peut posséder un index imbriqué, mais les recherches ne sont effectuées dans le seul champ clé primaire.
Index conditionnels
Les index peuvent inclure les paramètres Si, Premiers, Suivants et Tant que auquel cas ils sont alors des index conditionnels. Seuls les enregistrements qui correspondent à la condition sont indexés, affichés ou disponibles en vue d'une analyse si l'index conditionnel est actif.
À chaque fois que vous activez l'index, la condition est automatiquement réappliquée. Vous pouvez faciliter certains types d'analyses en utilisant des index conditionnels pour créer des sous-ensembles de tables plus volumineuses.
Si un index conditionnel pourvu d'un paramètre Si est actif, les mots Index filtré précèdent le compte d'enregistrements dans la barre d'état. Par exemple : Enregistrements filtrés indexés : 500. Si des index conditionnels pourvus des paramètres Premiers, Suivants et Tant que sont actifs, le mot Indexé précède le compte d'enregistrements, à l'instar des index dépourvus de conditions.
Index et filtres
Lors de la création d'un index conditionnel pourvu d'un paramètre If ou d'un filtre, vous pouvez inclure un filtre global (filtre appliqué à une vue) et/ou un filtre local (filtre dans une commande).
Le tableau suivant fournit des exemples d'intégration de filtres dans les index et montre l'effet qu'ont les index sur les échantillons de données.
Les filtres font partie de la syntaxe de l'indexation que vous pouvez visualiser dans la trace ou dans les détails de l'index. Pour plus d'informations, consultez la section Afficher des détails de l'index.
|
Type de filtre |
Description/Syntaxe d'indexation |
ID_fournisseur |
montant_trans |
|---|---|---|---|
|
Aucun |
Aucun index (ordre physique) |
212 108 359 108 359 212 359 212 359 108 |
1400,00 3400,00 1600,00 1100,00 3400,00 1200,00 2200,00 1700,00 1400,00 2300,00 |
|
Global |
L'index contient uniquement les enregistrements du fournisseur n°359 INDEX ON montant_trans TO "transactions fournisseur 359" Filtre global : ID_fournisseur = "359" |
359 359 359 359 |
1400,00 1600,00 2200,00 3400,00 |
|
Local |
L'index contient uniquement les transactions montant à 2 000 € ou plus INDEX ON montant_trans IF montant_trans >= 2000 TO "montant_trans 2000 ou plus" |
359 108 108 359 |
2200,00 2300,00 3400,00 3400,00 |
|
Filtre global-local |
L'index contient uniquement les enregistrements du fournisseur n°359 dont les transactions s'élèvent à 2 000 € ou plus INDEX ON montant_trans IF montant_trans >= 2000 TO "transactions fournisseur 359 montant 2000 ou plus" Filtre global : ID_fournisseur = "359" |
359 359 |
2200,00 3400,00 |
Étapes
Indexer des enregistrements
Vous pouvez indexer les enregistrements en fonction d'un ou plusieurs mots clés dans la table active et utiliser l'index obtenu pour reclasser temporairement les enregistrements sans affecter l'ordre physique sous-jacent des données.
- Sélectionnez Données > Index.
- Dans l'onglet Principal, effectuez l'une des opérations suivantes :
- Sélectionnez le(s) champ(s) à indexer dans la liste Indexer sur.
- Cliquez sur Indexer sur pour sélectionner le(s) champ(s) ou créer une expression.
Si vous sélectionnez plusieurs champs, l'ordre dans lequel vous les sélectionnez détermine la priorité de l'indexation imbriquée. Les enregistrements sont indexés en fonction du premier champ sélectionné, et s'il existe plusieurs occurrences d'une valeur dans le premier champ, les enregistrements au sein du groupe sont indexés en fonction du second champ sélectionné, etc. Si vous ne sélectionnez pas de champ supplémentaire, les enregistrements d'un groupe conservent leur ordre de tri d'origine les uns par rapport aux autres.
Pour obtenir des informations sur l'indexation via des expressions et des champs calculés, consultez la section Tri ou indexation via un champ clé calculé.
Remarque
La longueur combinée des champs indexés ne peut pas dépasser 247 caractères.
- Si vous avez sélectionné Indexer sur, vous pouvez également spécifier un ordre d'indexation décroissant pour un ou plusieurs champs sélectionnés en cliquant sur la flèche de tri
(l'ordre croissant est utilisé par défaut). -
Si vous souhaitez exclure du traitement certains enregistrements de la vue en cours, saisissez une condition dans la zone de texte Si, ou cliquez sur Si pour créer une instruction IF à l'aide du Générateur d'expression.
Remarque
La condition Si est évaluée uniquement par rapport aux enregistrements restant dans une table après application des options relevant du champ d'application (Premier, Suivant, Tant que).
L'instruction IF prend en compte tous les enregistrements de la vue et exclue ceux qui ne correspondent pas à la condition spécifiée.
- Effectuez l'une des actions suivantes :
- Dans la zone de texte Vers, indiquez le nom du fichier d'index.
- Cliquez sur Vers et indiquez le nom du fichier d'index, ou sélectionnez un fichier d'index existant dans la boîte de dialogue Enregistrer ou Enregistrer sous pour remplacer le fichier.
Si Analytics prérenseigne le nom du fichier d'index, vous pouvez l'accepter ou le modifier.
Remarque
La longueur des noms des index est limitée à 64 caractères alphanumériques. Le nom peut inclure le caractère de soulignement ( _ ), mais aucun autre caractère spécial ni espace. Le nom ne peut pas commencer par un chiffre.
Astuce
Il est recommandé de donner aux index des noms explicites décrivant la nature du classement imposé par l'index. Par exemple, « Date_Montant_D » pourrait être le nom d'un index classant les données d'une table par Date en ordre croissant, et les données de chaque jour par Montant en ordre décroissant.
- Sélectionnez ou désélectionnez l'option Utiliser la table de sortie selon que vous souhaitez ou non activer l'index immédiatement.
Vous pouvez activer l'index d'une table à tout moment en le sélectionnant dans la liste déroulante Index, dans la partie supérieure droite de la vue.
- Cliquez sur l'onglet Plus.
- Sélectionnez l'option appropriée dans le panneau Étendue :
- Tous : cette option est sélectionnée par défaut. Si elle reste sélectionnée, tous les enregistrements de la vue sont traités.
- Premier : sélectionnez cette option et saisissez un nombre dans la zone de texte pour démarrer le traitement au premier enregistrement de la vue et inclure uniquement le nombre d'enregistrements indiqué.
- Suivant : sélectionnez cette option et saisissez un nombre dans la zone de texte pour démarrer le traitement à l'enregistrement actuellement sélectionné de la vue et inclure uniquement le nombre d'enregistrements indiqué. Vous devez sélectionner le nombre d'enregistrements réel dans la colonne la plus à gauche et non pas les données dans la ligne.
- Tant que : sélectionnez cette option pour utiliser une instruction WHILE et ainsi limiter le traitement des enregistrements de la vue à un critère spécifique ou à un ensemble de critères. Vous pouvez saisir une condition dans la zone de texte tant que ou cliquer sur Tant que pour créer une instruction WHILE en utilisant le Générateur d'expression.
Une instruction WHILE permet de traiter les enregistrements de la vue uniquement tant que la condition indiquée est vraie. Dès que la condition est fausse, le traitement s'arrête et aucun autre enregistrement n'est pris en compte. Vous pouvez utiliser l'option Tant que en conjonction avec les options Tous, Premier ou Suivant. Le traitement des enregistrements s'arrête dès qu'une limite est atteinte.
Remarque
Le nombre d'enregistrements indiqué dans les options Premier ou Suivant fait référence à l'ordre physique ou d'indexation des enregistrements dans une table, quels que soient les filtres ou les tris express appliqués à la vue. Toutefois, les résultats des opérations analytiques tiennent compte de tous les filtres appliqués.
Si un tri express est appliqué à une vue, l'option Suivant se comporte comme l'option Premier.
- Cliquez sur OK.
- Si un message vous invitant à remplacer le fichier apparaît, sélectionnez l'option appropriée.
Une entrée de l'index est ajouté dans la liste déroulante Index disponible sous l'onglet Vue. Si vous avez sélectionné Utiliser la table de sortie, l'index est activé et la table est triée selon l'index.
Activer ou désactiver des index
Vous pouvez activer un index au moment de sa création ou bien à tout moment après sa création. À l'ouverture d'une table Analytics, les index existants sont inactifs par défaut.
- Pour activer un index, effectuez l'une des opérations suivantes :
- Lors de la création d'un index, sélectionnez Utiliser la table de sortie dans la boîte de dialogue Index pour activer immédiatement l'index.
- Sélectionnez l'index dans la liste déroulante Index en haut à droite de la vue.
- Pour désactiver un index, effectuez l'une des opérations suivantes :
- Sélectionnez (Aucun) dans la liste déroulante Index en haut à droite de la vue.
- Passez à un autre index.
- Fermez la table.
Afficher des détails de l'index
Vous pouvez afficher les détails d'un index (en d'autres termes, la syntaxe même d'une commande Indexer spécifique). La syntaxe des commandes inclut le(s) champ(s) clé(s) et tous les paramètres, filtres ou expressions. Les détails d'un index révèlent exactement comment un index particulier traite les enregistrements d'une table.
- Ouvrez la table contenant l'index.
- Cliquez avec le bouton droit de la souris sur la table dans le Navigateur et sélectionnez Propriétés.
- Cliquez sur l'onglet Index, sélectionnez le nom de l'index et cliquez sur Détails.
La boîte de dialogue Propriétés de l'index affiche les détails de l'index :
- Commande affiche la syntaxe de la commande Indexer spécifique, notamment tous les filtres locaux.
- Filtre affiche la syntaxe de tous les filtres globaux faisant partie de l'index.
- Cliquez sur OK et de nouveau sur OK pour fermer la boîte de dialogue Propriétés de la table.
Gérer des index
Il est possible de copier, renommer ou supprimer un index dans l'onglet Index de la boîte de dialogue Propriétés de la table. Vous pouvez aussi ajouter des index supplémentaires à partir du même emplacement.
Remarque
Vous pouvez effectuer ces tâches de maintenance uniquement par le biais d'Analytics. Si vous renommez directement un fichier d'index (fichier .inx) dans un dossier Windows, le fichier d'index est recréé automatiquement avec le nom d'origine lors de la prochaine activation de l'index dans Analytics. Si vous supprimez directement un fichier d'index, le fichier d'index est automatiquement recréé la prochaine fois que vous activerez l'index.
- Ouvrez la table contenant l'index.
- Cliquez avec le bouton droit de la souris sur la table dans le Navigateur et sélectionnez Propriétés.
- Cliquez sur l'onglet Index, sélectionnez le nom de l'index, puis effectuez l'une des opérations suivantes :
- Cliquez sur Copier pour copier l'index.
L'index est copié et un nombre incrémentant est ajouté au bout de son nom.
- Cliquez sur Renommer et saisissez un nouveau nom, puis cliquez sur OK pour renommer l'index.
Remarque
La longueur des noms des index est limitée à 64 caractères alphanumériques. Le nom peut inclure le caractère de soulignement ( _ ), mais aucun autre caractère spécial ni espace. Le nom ne peut pas commencer par un chiffre.
- Cliquez sur Supprimer, puis recliquez sur Supprimer pour supprimer l'index.
- Cliquez sur Copier pour copier l'index.
- Si vous souhaitez ajouter un nouvel index, cliquez sur Ajouter.
La boîte de dialogue Index apparaît, ce qui vous permet de créer un index de la méthode habituelle.
- Cliquez sur OK pour quitter la boîte de dialogue Propriétés de la table.