salut
Je suis un peu gêné de rester bloqué sur cette tâche simple.
C'est une tâche simple :
J'ai 2 tables de données (dt-1 et dt-2). Je veux parcourir la première et pour chaque ligne comparer une valeur avec une valeur dans la deuxième table, en commençant par la première ligne de cette table. S'il est assez proche, je vais collecter une valeur à partir de ce dt-2 et l'enregistrer dans un champ dans dt-1, mettre un marqueur spécial dans un champ dans dt-2 pour que je sache que cette ligne est prise et passer à la ligne suivante i dt -1, s'il n'est pas assez proche, je passerai à la ligne suivante en dt-2.
La programmation est assez simple :
for(i=1 to i > row_count(dt-1), dt-1 (row-number = i),
pour (j=1 à j>row_count(dt-2), dt-2 (row-number = j,
if(dt-2(col-x) == dt1(col-y), dt_2(col-z=1; dt1(col-z)=dt2(col-a); i++; j=0, j++)
)
Mes questions:
Quelle est la commande dans jsl pour obtenir le nombre de lignes d'un dt ?
Quelle est la commande dans jsl pour accéder à une ligne spécifique dans un dt ?
Quelle est la commande en jsl pour récupérer la valeur d'une colonne spécifique dans une ligne spécifique ?
Quelle est la commande dans jsl pour écrire des données dans un champ spécifique dans une ligne spécifique d'un dt spécifique ?
Lorsque j'essaie de parcourir les instructions et les manuels, je reste bloqué dans toutes les discussions sur la création de boucles et la programmation ordinaire simple, mais je ne trouve pas ces références à dt, champs et lignes. Je suis probablement aveugle, mais s'il vous plaît, aidez-moi où chercher !
Quelle est la commande dans jsl pour obtenir le nombre de lignes d'un dt ?
num_rows = nrows(dt);
Quelle est la commande dans jsl pour accéder à une ligne spécifique dans un dt ?
Vous n'allez pas à une ligne spécifique - faites simplement référence au numéro de ligne avec des parenthèses.Voir votre prochaine question.
Quelle est la commande en jsl pour récupérer la valeur d'une colonne spécifique dans une ligne spécifique ?En supposant que votre colonne spécifique s'appelle colonne_spécifique :
one_value = dt:specific_column[i];
Quelle est la commande dans jsl pour écrire des données dans un champ spécifique dans une ligne spécifique d'un dt spécifique ?
dt:specific_column[i] = new_value;
Il existe au moins une autre option pour accéder à la ligne MAIS JE SERAIS TOUJOURS préférez la méthode @pmroz montré. Je l'ai utilisé principalement pour le débogage et non pour mettre à jour les valeurs dans la table de données
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Row() = 10;
:height = 11;
Découvrez aussi ce post Abonnement aux tables de données
Merci !! Je savais que c'était simple mais on peut mourir en cherchant des choses simples !