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 souhaite parcourir la première et, pour chaque ligne, comparer une valeur avec une valeur du deuxième tableau, en commençant par la première ligne de ce tableau. Si c'est suffisamment proche, je collecterai une valeur de ce dt-2 et l'enregistrerai dans un champ dans dt-1, placerai un marqueur spécial dans un champ dans dt-2 pour que je sache que cette ligne est prise et passe à la ligne suivante, je dt -1, si ce n'est pas assez proche, je passerai à la rangée suivante en dt-2.
La programmation est assez simple :
for(i=1 to i > row_count(dt-1), dt-1 (row-number = i),
for (j=1 to 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 en jsl pour obtenir le nombre de lignes d'un dt ?
Quelle est la commande en 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 en 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 coincé dans toutes les discussions sur la façon de créer des boucles et une programmation ordinaire simple, mais je ne trouve pas ces références aux dt, aux champs et aux lignes. Je suis probablement aveugle, mais aidez-moi s'il vous plaît à savoir où chercher !
Merci !! Je savais que c'était simple mais on peut mourir en cherchant des choses simples !
Il existe au moins une autre option pour accéder à la ligne MAIS JE LE FERAIS TOUJOURS préfère la méthode @pmroz montré. Je l'ai principalement utilisé 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;
Consultez également cet article Inscription aux tables de données
Quelle est la commande en jsl pour obtenir le nombre de lignes d'un dt ?
num_rows = nrows(dt);
Quelle est la commande en 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 entre 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 est appelée colonne_spécifique :
one_value = dt:specific_column[i];
Quelle est la commande en 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;