OPALE - 10.0 - Utilisation - Fonctions de tableaux

Différence entre versions

De MappingDoc
imported>Admin
(SumArray)
imported>Admin
(SortArray)
Ligne 55 : Ligne 55 :
  
 
Remarque : Une fois appliquée, la fonction SortArray continuera à s'appliquer jusqu'à ce qu'elle soit remise à zéro. Lorsqu'elle est utilisée dans une fonction MAPREPORT, elle s'appliquera toujours à la fin de la fonction. Par conséquent, il faut la remettre à zéro avant la fin de la fonction.
 
Remarque : Une fois appliquée, la fonction SortArray continuera à s'appliquer jusqu'à ce qu'elle soit remise à zéro. Lorsqu'elle est utilisée dans une fonction MAPREPORT, elle s'appliquera toujours à la fin de la fonction. Par conséquent, il faut la remettre à zéro avant la fin de la fonction.
 +
 +
==SetArrayLineValue==
 +
Cette fonction permet d'ajouter ou modifier une valeur en indiquant uniquement les valeurs des champs.
 +
 +
SetArrayLineValue ( tableau , "North", "store1", "article1", 2 , 20, 40 )
 +
SetArrayLineValue ( tableau , "South" , "store1", "article1", 3 , 30 , 90)
 +
 +
Pour remplacer les valeurs par des calculs (par exemple lorsque les champs proviennent d'une table).
 +
 +
Dans l'exemple suivant, le total est obtenu en multipliant sales par price :
 +
SetArrayLineValue (tableau, table.region , table.store , table.article , table.sales , table.price , (table.sales * table.price ) )
 +
 +
Il est également possible de cumuler une valeur à la valeur en cours (ceci uniquement si le tableau contient une clé primaire). Ce cumul ne s’applique que sur les champs de type entier. Il suffit simplement de mettre l’entier dans une chaine de caractère qui commence par le caractère « + ».
 +
 +
Dans l’exemple suivant, on suppose que la clé primaire soit les deux premières colonnes, si le couple « sub – magasin 1 » n’existe pas, on l’insère dans le tableau en prenant comme « nbVente » la valeur 3. Si le couple existe, alors on incrémente le champ « nbVente » du nombre situé après le « + »
 +
SetArrayLineValue ( array, "South" , "store1" , "article1", "+3" , 30 , 90)

Version du 18 mars 2019 à 13:48

ClearArray

Cette fonction efface le contenu du tableau spécifié.

Exemple : ClearArray (tableau)

CountArray

Cette fonction renvoie le nombre d'éléments compris dans le tableau.

Exemple :DB.nb = CountArray (tableau)

DuplicateArray

Cette fonction permet de copier le contenu d'un tableau dans un autre.

Exemple : DuplicateArray (tableau_source, tableau_destination)

FilterArray

Pour appliquer un filtre sur toutes les fonctions des tableaux.

Exemple 1 : l'utilisateur souhaite récupérer les valeurs pour lesquelles store = North FilterArray ( tableau, " store" = 'North' " )

Exemple 2 : Appliquer le filtre aux fonctions SumArray, Write et ClearArray.

FilterArray ( tableau , " article = ‘TV’ " )
SumArray ( tableau , "total" )
Foreach(tableau) { }
Write(DB, tab) { }
NextRead() {}
ClearArray (tableau)
FilterArray ( tableau  )

Remarque : Une fois appliquée, la fonction FilterArray continuera à s'appliquer jusqu'à ce qu'elle soit remise à zéro. Lorsqu'elle est utilisée dans une fonction MAPREPORT, elle s'appliquera toujours à la fin de la fonction. Par conséquent, il faut la remettre à zéro avant la fin de la fonction.

SumArray

La fonction SumArray calcule la somme des colonnes. Les valeurs sont affectées aux champs du tableau.

Exemple : SumArray (tableau, "total", "nbVente")

SQLArray

Cette fonction permet d'effectuer une requête SQL sur un tableau.

Exemples :

SQLArray ( tableau , "UPDATE mytable set name = 'bill' where id = (Select id from mytable2 where name= 'name3' )" ) 
DB.value = SQLArray ( array , "Select name from mytable where … " )

SetArrayLineTable

Cette fonction insère tous les éléments d'une table dans le tableau spécifié. Pour cela, le nombre d'éléments dans la table et dans le tableau doit être identique.

Exemple :SetArrayLineTable ( tableau , table )

SortArray

Avant d’afficher des valeurs, il est possible de les trier à l'aide de la fonction SortArray. Cette fonction peut prendre une liste de colonnes en paramètre.

Exemple : SortArray ( tableau, "region" , "store")


Remarque : Une fois appliquée, la fonction SortArray continuera à s'appliquer jusqu'à ce qu'elle soit remise à zéro. Lorsqu'elle est utilisée dans une fonction MAPREPORT, elle s'appliquera toujours à la fin de la fonction. Par conséquent, il faut la remettre à zéro avant la fin de la fonction.

SetArrayLineValue

Cette fonction permet d'ajouter ou modifier une valeur en indiquant uniquement les valeurs des champs.

SetArrayLineValue ( tableau , "North", "store1", "article1", 2 , 20, 40 )
SetArrayLineValue ( tableau , "South" , "store1", "article1", 3 , 30 , 90)

Pour remplacer les valeurs par des calculs (par exemple lorsque les champs proviennent d'une table).

Dans l'exemple suivant, le total est obtenu en multipliant sales par price :

SetArrayLineValue (tableau, table.region , table.store , table.article , table.sales , table.price , (table.sales * table.price ) )
Il est également possible de cumuler une valeur à la valeur en cours (ceci uniquement si le tableau contient une clé primaire). Ce cumul ne s’applique que sur les champs de type entier. Il suffit simplement de mettre l’entier dans une chaine de caractère qui commence par le caractère « + ».

Dans l’exemple suivant, on suppose que la clé primaire soit les deux premières colonnes, si le couple « sub – magasin 1 » n’existe pas, on l’insère dans le tableau en prenant comme « nbVente » la valeur 3. Si le couple existe, alors on incrémente le champ « nbVente » du nombre situé après le « + »

SetArrayLineValue ( array, "South" , "store1" , "article1", "+3" , 30 , 90)