テーブル内の同じデータを削除するにはどうすればよいですか?親愛なる、
メニューに移動するたびに、同じデータを削除する「行」を選択します。
テーブル内の同じデータを自動で削除したいのですが、JSLの書き方がわかりません
どうやって書けばいいですか?
Re: テーブル内の同じデータを削除するにはどうすればよいですか?私はゼロから始めましたが、うまくいきました。 MIn() と Max() の両方を試したところ、期待どおりの結果が得られました。
いくつかのことに気づきました。
1. 列 1 を追加したと言いましたが、列 1 を連続数値に初期化したと言うのを忘れていました。 IE 基本的に行番号を複製しました。
2. テーブル名を括弧で囲んでいますが、テーブル名は「$」で終わっています。 これらは MS による SQL です。 それらを排除してみてください。
3. カスタム SQL ウィンドウで更新ボタンを押すように指示したかどうか思い出せませんが、クエリを実行する前に役立つようです。
Re: テーブル内の同じデータを削除するにはどうすればよいですか?
申し訳ありませんが、それは機能しません
アラームは円形参照;
t1 を選択します。*
FROM [溶解度$] t1,
( SELECT DISTINCT "LOT NO", Min("列 1") を "列 1" として指定FROM [溶解度$] GROUP BY "LOT NO" ) AS t2
WHERE t1."列 1" = t2."列 1"
Re: テーブル内の同じデータを削除するにはどうすればよいですか?違いがわかるように、サブクエリをテーブルとして配置して再作成しました。 場合によっては、一方の方法がもう一方の方法よりもうまく機能したり、明確になったりすることがあります。 ここで、「t1」と「t2」はエイリアスです。
t1 を選択します。*
溶解度 t1 から、
( SELECT DISTINCT "ロット番号", Min("列 1") AS "列 1" FROM 溶解度グループ BY "ロット番号" ) AS t2
WHERE t1."列 1" = t2."列 1"
;
Re: テーブル内の同じデータを削除するにはどうすればよいですか?ちょっとした間違いです。Min を使用すると、「削除」テーブルが返されます。Re: テーブル内の同じデータを削除するにはどうすればよいですか?あなたの問題は、溶解度のすべての列にわたって DISTINCT を使用していることです。 LOT NO 1700002 では、列の異常な内容に一意の値 (つまり、「電気ブレーク」、「ピン ホール」) があるため、各行が一連の列で一意であるため、同じ行が返され続けます。
私の記憶が正しければ、Excel (つまり M$) SQL には最初または最後のバージョンがありますが、SAS (つまり JMP) にはありません (ただし、現在のバージョンでは変更されている可能性があります)。
あなたの質問に答えると思われる私が書いたコードは次のとおりです。
t2 を選択します。*
FROM 溶解度 t2
WHERE t2."列 1" IN (
SELECT DISTINCT t1."列 1"
FROM 溶解度 t1
t1.「ロット番号」でグループ化
HAVING t1."列 1" = Max(t1."列 1"));
Solubility を JMP に開いてみました
列 1 を追加しました (これは並べ替え/順序列と考えてください)。
次に、テーブルの下の SQL クエリ ビルダーに移動しました。
溶解度をテーブルとして選択した後、相関サブクエリ (つまり、一時テーブル) で使用する「列 1」と「ロット番号」を選択し、DISTINCT 行のみをチェックして追加をクリックしました。
次に、クエリ名の横にある三角形をクリックし、[SQL に変換] を選択します。 これでコードを書くことができるようになります (SAS の 30 年間 - ここまではクリックとポイントだけでできました)。
上で示したものにコードを編集し、クエリを実行し、正しく実行されるまで、発生したエラーを修正しました。
基本的に、上記の相関サブクエリの列 1 で変更された溶解度を照合しました。 サブクエリは、「ロット番号」の各グループの最大の列 1 を取得することにより、一意の「列 1」を返します。 ここでは最後の代わりに Max() を使用しています。 Min() は FIRST の代わりに使用できます。
これを別のテーブルとしてサブクエリの JOIN として実行することもできました。 それは明日に譲ります。
おそらくかなり難解なことだとは思いますが、ご質問がございましたら、お知らせください。お答えできるよう努めます。
RCW
Re: テーブル内の同じデータを削除するにはどうすればよいですか?ありがとう
Excelの添付ファイル「溶解度」が元データなので修正したい
添付ファイル「data.dsn」はデータベースです
私が望む結果は「削除」という名前のExcelです。
「[溶解度$]から個別の[ロット番号]、コード、[異常な内容]を選択します」と書きます。
「LOT NO」と同じデータを削除するには
しかし、それは機能しません。
Re: テーブル内の同じデータを削除するにはどうすればよいですか?JMP Query Builder を使用すると、JSL をクエリに追加できます。の 121 ページのドキュメントを参照してください。
ヘルプ==>書籍==>JMPの使用
データを抽出するたびに、必要な行を自動的に削除するコードをクエリに追加できます。
Re: テーブル内の同じデータを削除するにはどうすればよいですか?ありがとう
データベースからデータを取得するにはJMPメニューの「Built Query」を使用します。
@txnelson書きました:
データベースからデータを開くときは、データの取得に使用するスクリプトに JSL を追加する必要があります。データベースからデータを取得するためにどのような方法を使用していますか?
Re: テーブル内の同じデータを削除するにはどうすればよいですか?データベースからデータを開くときは、データの取得に使用するスクリプトに JSL を追加する必要があります。データベースからデータを取得するためにどのような方法を使用していますか?
Re: テーブル内の同じデータを削除するにはどうすればよいですか?ありがとう、
のデータテーブルはデータベースから取得されており、それを開くたびにデータが更新されます。
だから私は期待しています同じデータを削除すると自動的に再実行されるJSLが表に表示されます。
@txnelson書きました:
どうか明らかにしてください。私は混乱しています。添付したデータテーブルには、「first」と「second」の 2 つの列があります。「first」という名前の列で「A」の値を見つけて行を削除する場合、JSL は次のようになります。
dt = Current Data Table();
dt << Select Where( :first == "A") << Delete Rows;
「2 番目」という名前の列にある「A」の値に基づいて行を削除する場合、JSL は次のようになります。
dt = Current Data Table();
dt << Select Where( :second == "A") << Delete Rows;
それで、あなたが「」と言ったとき、しかし、データを更新すると「......データテーブルを再度開いたときということですか?」データテーブルを再度開いたときに、JSL が自動的に再実行されることを期待していますか?
もう一度データテーブルを開いたときのデータ。
Re: テーブル内の同じデータを削除するにはどうすればよいですか?どうか明らかにしてください。私は混乱しています。添付したデータテーブルには、「first」と「second」の 2 つの列があります。「first」という名前の列で「A」の値を見つけて行を削除する場合、JSL は次のようになります。
dt = Current Data Table();
dt << Select Where( :first == "A") << Delete Rows;
「2 番目」という名前の列にある「A」の値に基づいて行を削除する場合、JSL は次のようになります。
dt = Current Data Table();
dt << Select Where( :second == "A") << Delete Rows;
それで、あなたが「」と言ったとき、しかし、データを更新すると「......データテーブルを再度開いたときということですか?」データテーブルを再度開いたときに、JSL が自動的に再実行されることを期待していますか?
Re: テーブル内の同じデータを削除するにはどうすればよいですか?ありがとう、
しかし、データを更新すると、同じデータを自動的に削除できなくなります。
dt = Current Data Table();
dt << Select Where( :Col1 == "A") << Delete Rows;
Re: テーブル内の同じデータを削除するにはどうすればよいですか?削除するデータを選択するために記述できる条件があると仮定して、スクリプト インデックスの Select Where() を確認してください。
例えば:
dt = Current Data Table();
dt << Select Where( :Col1 == "A") << Delete Rows;
これにより、Col1 内の値「A」を持つ行がすべて削除されます。