Cette démonstration va illustrer comment gérer les colonnes de données et les lignes de table de données. Et je vais utiliser un script pour créer une nouvelle table de données avec une colonne pour commencer. Donc, dans le journal du cours dans la section, je vais cliquer sur Créer une nouvelle table et colonne de données. Et vous pouvez voir que nous utilisons la nouvelle fonction de table. Nous allons stocker la référence d'objet de table de données que cela crée dans la variable dt. Et le tableau s'appellera Test Data. Je vais avoir une seule colonne appelée pH. Le type de données sera numérique et le type de modélisation sera continu. Et puis j'utilise l'argument valeurs, que je pourrais aussi dire définir des valeurs - les deux vont être synonymes - pour remplir à l'aide de l'opérateur d'index, qui est un opérateur infixe. Donc, c'est juste que nous allons compter de un à sept par incréments de un. Et parce que je fournis ces valeurs, c'est le nombre de lignes que cette table de données aura. Il existe un argument facultatif pour ajouter un nombre spécifié de lignes que je pourrais utiliser si je ne remplissais pas initialement les valeurs. Et vous verrez également si vous demandez à JMP d'écrire un script pour une table de données pour vous avec ce message de script get, qui inclura l'argument pour ajouter les lignes. Nous spécifierons également un format utilisant l'argument décimal fixe avec un champ avec le et trois décimales. Nous allons activer l'option de verrouillage sur la colonne afin qu'elle ne puisse pas être modifiée sans la déverrouiller. Et nous utiliserons l'argument de vérification de plage pour attribuer cette propriété de colonne. Et la syntaxe ici LELE ( ) dit simplement que est inférieur ou égal à la valeur dans la colonne est inférieur ou égal à Et enfin, nous avons un exemple de l'argument de propriété set, où nous définissons la propriété du limites de spécification. Et comme il existe plusieurs options pour indiquer les limites de spécification, nous avons une liste des trois limites : la limite de spécification inférieure, la limite de spécification supérieure et la cible. Et rappelez-vous également que tous ces arguments facultatifs de la nouvelle colonne peuvent être envoyés sous forme de messages à la colonne après sa création ou, comme nous le voyons ici, en tant qu'arguments de la nouvelle colonne. Je vais donc exécuter le script. Et vous pouvez voir dans le journal ci-dessous ici que nous avons créé cette instance d'un objet de table de données appelé données de test. Et bien sûr, c'est ce que je verrais si je survolais la variable dt dans mon script. Et j'ai le tableau de données avec une seule colonne et sept lignes. Et nous pouvons voir tous les éléments du script indiqués dans le tableau lui-même. Donc, d'une part, je sais que le type de données est numérique car je peux voir que l'icône du type de modélisation indique que c'est continu. Et le type de modélisation continue ne prend que des données numériques. De plus, les valeurs numériques sont justifiées à droite. Si nous avions des nombres traités comme des caractères, ils seraient justifiés à gauche. Si nous regardons les icônes dans le panneau des colonnes, il y a l'icône de verrouillage, indiquant que j'ai verrouillé la colonne. La petite coche indique que la plage est vérifiée. Et puis l'astérisque indique un certain nombre de propriétés supplémentaires qui n'ont pas leurs propres symboles uniques. Donc, pour accéder à la boîte de dialogue d'informations sur la colonne, il existe bien sûr plusieurs façons. On peut prendre un raccourci en cliquant sur cet astérisque. Et nous voyons que cette propriété est les limites de spécification. Il peut y avoir, encore une fois, plus d'une propriété répertoriée dans ce menu déroulant. Et je peux sélectionner cela. Et cela m'emmène dans les infos de la colonne. Bien sûr, nous pouvons également sélectionner la colonne et utiliser le menu des colonnes ou cliquer avec le bouton droit sur la colonne et sélectionner les informations de la colonne. Il y a donc les limites de spécification avec les valeurs indiquées dans l'argument de propriété set. Nous avons également ce contrôle de gamme. Et encore une fois, c'est le plus petit ou égal, plus petit ou égal-- que LELE est indiqué dans la syntaxe générique-- et puis nous avons les valeurs réelles. Ici, nous pouvons voir que la colonne a été verrouillée. Le type de données est numérique. Le type de modélisation est continu. Et le format est cette décimale fixe dont la largeur de champ est le nombre maximum de caractères pouvant être affichés dans la colonne et trois décimales. Je vais donc annuler la boîte de dialogue d'informations sur la colonne. Et je vais continuer et désélectionner cette colonne de pH. Maintenant, il y a une option dans le menu déroulant des propriétés de la colonne pour définir votre propre propriété de colonne utilisateur. Et si vous le faites de manière interactive, l'option de menu s'appelle simplement Autre. Et vous nommez la propriété et quelle que soit la valeur qu'elle va prendre. J'ai un script dans le journal appelé Add User Column Property. Et nous envoyons cela à la colonne de pH. Cette colonne utilisateur s'appellera correctement Étalonnage du compteur. Et je veux juste mettre la date d'aujourd'hui sous la forme d'une chaîne de caractères mois, jour, année. Et donc le texte ici, le deuxième argument pour définir la propriété, dans ce cas, j'utilise la fonction Aujourd'hui pour récupérer le nombre de secondes depuis minuit, janvier au moment où j'exécute cette ligne de code. J'enveloppe cela dans la fonction de format et spécifie le format de chaîne de caractères sous lequel je veux que cela s'affiche. Et encore une fois, cela peut être un processus d'essais et d'erreurs lorsque vous écrivez un script. Si je fournissais juste ce que j'ai mis en évidence-- et je pense que j'aurais pu-- il y a-- ouais. Je voulais m'assurer d'avoir spécifié le bon nombre de parenthèses. Permettez-moi d'exécuter ce que je viens de mettre en évidence. Alors je sélectionne ça. Et je Ctrl+R. Et je vois que cette chaîne de caractères apparaît exactement comme je le veux dans le journal. Et donc je pourrais exécuter ce message de propriété set, ce code avec le message de propriété, sans la fonction eval initialement. Et si je faisais cela, ce que je verrais quand je regarderais dans les informations de la colonne pour la propriété d'étalonnage du compteur est littéralement le code. Il n'évaluerait pas réellement. Ainsi, la propriété set peut ne pas évaluer son deuxième argument, ce qui nous oblige à l'envelopper dans la fonction eval. Maintenant, en l'exécutant en dehors du message de propriété set, cela va juste - laissez-moi continuer et exécuter cela - cela va retourner exactement la même chose. Il peut donc s'agir de quelque chose où vous n'avez initialement que le format de la fonction Today, puis découvrez qu'elle n'a pas renvoyé ce que vous vouliez dans les propriétés de votre colonne. Et puis vous vous rendriez compte que vous deviez ajouter cet eval. Je ne vais donc rien sélectionner et je vais exécuter ce script. Le message que je reçois ici dans le journal est simplement scriptable. Cela signifie que j'ai fait quelque chose qui était scriptable. Ainsi, vous constaterez parfois que vous exécutez du code et que ce que vous attendez ne se produit pas. Et vous pourriez juste voir ce message scriptable. Alors vous devez essayer de comprendre ce qui n'allait pas dans ce cas, parce que vous n'obtenez pas vraiment d'informations à partir du mot scriptable. Mais dans notre cas, passons à table. Et encore une fois, nous pouvons simplement entrer dans les informations de la colonne en cliquant sur cet astérisque. Et je le fais de cette façon pour montrer que nous avons maintenant un autre élément dans ce menu. Encore une fois, toutes les propriétés de colonne qui n'ont pas leurs propres icônes uniques apparaîtront dans ce menu astérisque. Et je clique sur Meter Calibration pour que, lorsque la boîte de dialogue d'informations sur la colonne s'ouvre, c'est la propriété qui est sélectionnée. Et il y a ce résultat évalué de l'utilisation de la fonction Aujourd'hui et de son formatage en tant que chaîne de caractères. Je vais donc annuler cela. Et je vais juste utiliser la fenêtre de l'éditeur de script de la propriété Add User Column pour jouer un peu plus avec ce tableau. Il n'a pas besoin d'être aussi large maintenant. Je veux donc envoyer une nouvelle colonne sous forme de message à la table de données en ce moment. Et je vais appeler cette nouvelle colonne Hydronium. Et je vais ajouter une formule après l'avoir créée. Et bien sûr, je pourrais ajouter la formule dans le cadre de la création de la colonne. Et je vais également stocker la référence d'objet de colonne qui résulte du code dans une variable. Et je l'appellerai simplement HYD, hyd pour hydronium. Et je vais attribuer cela au résultat de l'envoi d'un message à dt, car c'est dans cela que nous avons stocké la référence de l'objet de données de test. J'envoie donc le message à la nouvelle colonne dt, puis j'ouvre les parenthèses et la chaîne de caractères. Le seul argument requis pour la nouvelle colonne est ce nom de colonne, Hydronium. Et je vais aller de l'avant et exécuter cela. Et stocker ce résultat dans cette variable signifie que je n'ai pas besoin de retaper le nom Hydronium en entier. Je n'ai donc pas eu à stocker cette référence d'objet. Je peux toujours communiquer avec la colonne. Mais cela m'épargne juste un peu de frappe pour lui avoir donné ce nom abrégé. Maintenant, supposons, comme je l'ai mentionné, que je veuille ajouter une formule à cette colonne. Je vais donc passer à une nouvelle ligne. Et je veux faire attention à ne pas réexécuter accidentellement l'intégralité du script et à créer une deuxième colonne Hydronium. Je vais donc commenter cette première ligne. Et je vais envoyer un message à cette variable hyd. Et le message est mis en formule. Et la formule que je vais élever à la puissance du pH négatif, donc augmenter à-- et ensuite j'ouvrirai des parenthèses-- moins-- et j'utiliserai l'opérateur de portée du côlon parce que je fais référence au colonne pH, juste pour être sûr, au cas où il y aurait un autre nom de variable ph flottant dans mon espace de noms global. Je n'utilise pas Names Default to Here, même si, dans la pratique, nous le recommandons comme meilleure pratique. Je vais donc taper ce point-virgule et exécuter cette ligne du script. Encore une fois, nous voyons le message scriptable dans le journal. Mais nous pouvons examiner le tableau et voir que ces valeurs ont été renseignées. Il y a quelques autres choses à jouer avec le travail avec nos colonnes et nos lignes. Supposons que je veuille colorer les cellules d'un tableau de données pour signaler les valeurs qui dépassent un certain nombre. Je vais donc passer à une nouvelle ligne dans la fenêtre de l'éditeur de script. Je vais créer une variable appelée callout. Et je vais attribuer que le résultat de la table de données stockée dans dt recevant le message obtienne des lignes où. Et puis ma comparaison booléenne sera que les valeurs dans la colonne pH sont supérieures à Donc je vais exécuter juste cette ligne. Et vous pouvez voir ces lignes et obtenir des lignes où me renvoie un vecteur colonne de numéros de ligne. Et puis je vais envoyer un message à pH. Et puisque cette référence d'objet de colonne n'est pas stockée dans une variable, je vais simplement y faire référence par son nom. Ainsi, le pH va recevoir le message de couleur des cellules. C'est donc un autre message que nous pouvons envoyer à une colonne. Et j'utiliserai le nom de la couleur comme premier argument. Il existe également des valeurs d'index et vous pouvez utiliser les valeurs RVB. J'utiliserai le nom comme une chaîne de caractères. Je vais donc colorer ces cellules en rouge. Et puis le deuxième argument est, quelles cellules voulez-vous colorer ? Vous pouvez faire toute la colonne ou vous pouvez fournir les numéros de ligne. Je vais donc utiliser la variable Callout, qui stocke les lignes où le pH est supérieur à trois. Et je vais courir juste cette ligne. Au fait, remarquez que j'ai oublié de mettre un point-virgule. Cela montre donc que ce point-virgule de fin n'est pas nécessaire. C'est seulement quand j'ai des arguments supplémentaires à venir. Si nous regardons maintenant le tableau de données, vous pouvez voir que ces quatre cellules ont été colorées en rouge. Donc, cela pourrait être quelque chose de bien à faire si vous avez une grande table de données et que vous avez peut-être des limites de spécification sur certaines colonnes. Vous pouvez colorer les cellules en fonction de ces limites de spécification pour les choses qui ne sont pas conformes aux spécifications, par exemple, pour les signaler visuellement dans le tableau de données avant même de commencer à regarder les graphiques. Vous n'êtes certainement pas obligé de colorer les cellules, mais c'est une option qui peut être utilisée. Ainsi, dans cette démonstration, nous avons vu un exemple de création d'une nouvelle table de données avec une colonne, d'ajout d'une colonne à cette table de données et de jouer un peu avec certaines des choses que nous pouvons faire avec nos colonnes et nos lignes.