COMMENT supprimer les mêmes données dans le tableau?cher,
chaque fois que je vais dans le menu, quelle « ligne » supprimer les mêmes données ,
je veux supprimer automatiquement les mêmes données dans le tableau , et je ne sais pas comment écrire du JSL
comment je fais pour écrire?
Re : COMMENT supprimer les mêmes données dans le tableau?Je viens de repartir de zéro et cela a fonctionné de mon côté. J'ai essayé à la fois MIn() et Max() et cela a donné ce à quoi je m'attendais.
J'ai remarqué deux ou trois choses :
1. Quand je vous ai dit que j'avais ajouté la colonne 1, j'ai oublié de mentionner que je l'avais initialisée en numérique séquentiel. IE, j'ai essentiellement répliqué le numéro de ligne.
2. Vous avez remarqué que vous utilisez des crochets autour du nom de la table et que le nom de la table se termine par "$". Ce sont MS qui prennent SQL. Essayez de les éliminer.
3. Je ne me souviens pas si je vous ai dit d'appuyer ou non sur le bouton de mise à jour dans la fenêtre SQL personnalisée, mais cela semble m'aider avant d'exécuter la requête.
Re : COMMENT supprimer les mêmes données dans le tableau?
je suis désolé de vous dire que ça ne peut pas fonctionner
l'alarme est circulaire référence ;
SÉLECTIONNER t1.*
FROM [Solubilité$] t1,
( SÉLECTIONNEZ « LOT NO » DISTINCT, Min("Colonne 1") comme "Colonne 1" FROM [Solubilité$] GROUPER PAR "LOT NO" ) AS t2
OÙ t1."Colonne 1" = t2."Colonne 1"
Re : COMMENT supprimer les mêmes données dans le tableau?Je suis allé de l'avant et je l'ai refait en mettant la sous-requête sous forme de tableau pour que vous puissiez voir la différence. Parfois, une méthode fonctionne mieux ou est plus claire que l’autre. Ici, les « t1 » et « t2 » sont des alias.
SÉLECTIONNER t1.*
DE Solubilité t1,
(SELECT DISTINCT "LOT NO", Min("Column 1") AS "Column 1" FROM Solubility GROUP BY "LOT NO" ) AS t2
OÙ t1."Colonne 1" = t2."Colonne 1"
;
Re : COMMENT supprimer les mêmes données dans le tableau?J'ai fait une légère erreur - l'utilisation de Min renverra votre table "supprimer".Re : COMMENT supprimer les mêmes données dans le tableau?Votre problème est que vous utilisez DISTINCT dans toutes les colonnes de solubilité. Étant donné que pour le LOT NO 1700002, vous avez des valeurs uniques (c'est-à-dire « coupure électrique », « trou d'épingle ») dans le contenu anormal de la colonne, vous continuez à récupérer les mêmes lignes car chaque ligne est unique sur l'ensemble des colonnes.
Si je me souviens bien, Excel (c'est-à-dire M$) SQL a une PREMIÈRE ou une DERNIÈRE version, contrairement à SAS (c'est-à-dire JMP) (bien que cela ait pu changer avec les versions actuelles.
Voici le code que j'ai écrit et qui semble répondre à votre question :
SÉLECTIONNER t2.*
DE Solubilité t2
OÙ t2."Colonne 1" DANS (
SELECTIONNER DISTINCT t1."Colonne 1"
DE Solubilité t1
GROUPER PAR t1."LOT NO"
AVOIR t1."Colonne 1" = Max(t1."Colonne 1"));
J'ai ouvert Solubility dans JMP
J'ai ajouté une colonne, Colonne 1 (pensez à cela comme une colonne Trier/Ordre)
Ensuite, je suis allé dans le générateur de requêtes SQL sous les tables
Après avoir choisi la solubilité comme table, j'ai choisi la "colonne 1" et le "numéro de lot", que je vais utiliser dans une sous-requête associée (c'est-à-dire une table temporaire), j'ai coché les lignes DISTINCT uniquement et j'ai cliqué sur Ajouter.
Maintenant, j'ai cliqué sur le triangle à côté du nom de la requête et j'ai choisi Convertir en SQL. Cela me permettra d'écrire le code (30 ans de SAS - cliquez et pointez pour aller jusqu'à présent).
J'ai modifié le code selon ce que je vous ai donné ci-dessus, exécuté la requête, corrigé toutes les erreurs survenues, jusqu'à ce qu'il fonctionne correctement.
Fondamentalement, j'ai fait correspondre votre solubilité modifiée sur la colonne 1 de la sous-requête corrélée mentionnée ci-dessus. La sous-requête renvoie des "colonnes 1" uniques en prenant le maximum de colonne 1 de chaque groupe de "numéro de lot". J'utilise Max() ici en remplacement de la fin. Min() pourrait être utilisé comme substitut à FIRST.
J'aurais également pu le faire en tant que JOIN sur la sous-requête en tant qu'autre table. Nous laisserons cela pour demain.
Je sais que c'est probablement assez ésotérique, mais si vous avez des questions, faites-le-moi savoir, j'essaierai d'y répondre.
RCW
Re : COMMENT supprimer les mêmes données dans le tableau?merci
le fichier joint avec Excel "Solubilité" est une donnée originale que je souhaite modifier
Le fichier joint "data.dsn" est une base de données
le résultat que je veux être est un Excel nommé "supprimer"
J'écris « SELECT distinct [LOT NO],code,[anormal content] FROM [Solubility$] »
pour supprimer les mêmes données que dans "LOT NO"
mais cela ne peut pas fonctionner.
Re : COMMENT supprimer les mêmes données dans le tableau?Le générateur de requêtes JMP vous permet d'ajouter du JSL à la requête.Consultez la documentation à la page 121 dans
Aide==>Livres==>Utilisation de JMP
Il vous permettra d'ajouter à votre requête le code pour supprimer automatiquement les lignes souhaitées, à chaque fois que vous extrayez les données.
Re : COMMENT supprimer les mêmes données dans le tableau?merci
J'utilise "Built Query" du menu JMP pour obtenir des données de la base de données.
@txnelson a écrit:
Lorsque vous ouvrez les données de la base de données, vous devrez ajouter le JSL au script que vous utilisez pour récupérer les données.Quelle méthode utilisez-vous pour récupérer les données de la base de données ?
Re : COMMENT supprimer les mêmes données dans le tableau?Lorsque vous ouvrez les données de la base de données, vous devrez ajouter le JSL au script que vous utilisez pour récupérer les données.Quelle méthode utilisez-vous pour récupérer les données de la base de données ?
Re : COMMENT supprimer les mêmes données dans le tableau?merci,
le la table de données provient de la base de données et chaque fois que je l'ouvre, les données sont actualisées.
donc j'attends le JSL à réexécuter automatiquement pour supprimer les mêmes données apparaissent dans le tableau。
@txnelson a écrit:
Précisez s'il vous plaît.Je suis confus.Dans le tableau de données que vous avez joint, vous avez 2 colonnes, "première" et "seconde".Si vous souhaitez supprimer les lignes en fonction de la recherche de la valeur « A » dans la colonne nommée « premier », le JSL serait :
dt = Current Data Table();
dt << Select Where( :first == "A") << Delete Rows;
Si vous vouliez supprimer des lignes en fonction de la valeur de « A » dans la colonne nommée « seconde », le JSL serait :
dt = Current Data Table();
dt << Select Where( :second == "A") << Delete Rows;
Alors quand tu dis " mais si j'actualise les données "....... indiquez-vous cela lorsque vous rouvrez la table de données ?Attendez-vous à ce que le JSL soit automatiquement réexécuté lorsque vous ouvrez à nouveau la table de données ?
données lorsque j'ouvre à nouveau la table de données.
Re : COMMENT supprimer les mêmes données dans le tableau?Précisez s'il vous plaît.Je suis confus.Dans le tableau de données que vous avez joint, vous avez 2 colonnes, "première" et "seconde".Si vous souhaitez supprimer les lignes en fonction de la recherche de la valeur « A » dans la colonne nommée « premier », le JSL serait :
dt = Current Data Table();
dt << Select Where( :first == "A") << Delete Rows;
Si vous vouliez supprimer des lignes en fonction de la valeur de « A » dans la colonne nommée « seconde », le JSL serait :
dt = Current Data Table();
dt << Select Where( :second == "A") << Delete Rows;
Alors quand tu dis " mais si j'actualise les données "....... indiquez-vous cela lorsque vous rouvrez la table de données ?Attendez-vous à ce que le JSL soit automatiquement réexécuté lorsque vous ouvrez à nouveau la table de données ?
Re : COMMENT supprimer les mêmes données dans le tableau?merci,
mais si j'actualise les données, je ne peux pas supprimer automatiquement les mêmes données ci-dessous
dt = Current Data Table();
dt << Select Where( :Col1 == "A") << Delete Rows;
Re : COMMENT supprimer les mêmes données dans le tableau?En supposant qu'il existe une condition que vous pouvez écrire pour sélectionner les données que vous souhaitez supprimer, consultez Select Where() dans l'index de script.
par exemple:
dt = Current Data Table();
dt << Select Where( :Col1 == "A") << Delete Rows;
Cela supprimerait toutes les lignes de Col1 avec la valeur « A ».