別の列のセルを参照する行間の差異のパーセンテージを計算する方法こんにちは皆さん、
次の表があります。被験者ごとに、画面値に対する値列の d1、d2、d3、および d4 の値の % の差を計算したいと思います。計算式は、((d1-スクリーン)/スクリーン)*100 で、被験者 1 の d2 ~ d4 の値について繰り返します。次に、被験者番号が変更されると、被験者 2 のスクリーン値が参照され、被験者 2 の d1 ~ d4 を使用して計算されます。価値観などこれを行う方法があることは確かですが、私はその方法を特定できませんでした。
よろしくお願いします
フロイド・フォックス

Re: 別の列のセルを参照する行間の差異を%スクリプト化する方法<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />はい、画面行の位置をいじる可能性があります。 しかし、もし画面はサブジェクト内で常に最大値を持つようにバインドされているため、次の式も機能します。
:価値/コル・マックス( :価値、 :主題) - 1
Re: 別の列のセルを参照する行間の差異を%スクリプト化する方法拡張リクエストを正しく解釈している場合、データ テーブルは次のようになりますか?

私が最初に提案した方法を使用すると、スクリプトにいくつかの小さな変更が加えられます。
デフォルトの名前はここにあります( 1 ) ;
dt =現在のデータテーブル() ;
// 画面値のみを含むデータテーブルを作成します
dt <<場所を選択してください( :日== "画面" ) ;
dtスクリーン= dt <<サブセット(選択された行( 1 ) 、選択された列( 0 ) ) ;
dtスクリーン<<列を削除する( "日" ) ;
dtスクリーン:価値<<セット名( 「スクリーン値」 ) ;
dtスクリーン:値2 <<セット名( 「画面値2」 ) ;
// データを結合して戻します
dt <<アップデート(と( dtスクリーン) 、列の一致( :主題= :主題) ) ;
近い( dtスクリーン、保存しない) ;
// 最終的な計算を行う
dt <<新しい列( 「画面との差異%」 、式(( :価値- :画面値) / :スクリーン値) 、フォーマット( "パーセント" 、 7 、 2 )) ;
dt <<新しい列( 「画面 2 との % の差」 、式(( :値2 - :画面値 2 ) / :画面値 2 ) 、フォーマット( "パーセント" 、 7 、 2 )) ;
これにより、最終的なテーブルは次のようになります。

MS が提案した方法論を使用することには、新しい列の式を指定するだけで実行できるという利点があります。ただし、これは Screen 行位置の決定に依存するため、これを実際のデータで使用する場合は有効な仮定ではない可能性があります。
Re: 別の列のセルを参照する行間の差異を%スクリプト化する方法MS、
どうもありがとうございます。ジムに質問したので、あなたにも同じ質問をします。
画面 d1、d2 などに異なる観測セットを表す 2 つ (またはそれ以上) の値列がある場合、各値列の差を計算するにはどのような変更を加える必要がありますか。ありがとう
フロイド
Re: 別の列のセルを参照する行間の差異を%スクリプト化する方法ジム、
とても便利です、ありがとうございます。画面 d1、d2 などに異なる観測セットを表す 2 つ (またはそれ以上) の値列がある場合、各値列の差を計算するにはどのような変更を加える必要がありますか。ありがとう
フロイド
Re: 別の列のセルを参照する行間の差異を%スクリプト化する方法あと2回のアウェイで達成できる。 どちらも、各件名の最初の行を見つけるために関数 Col Min() を使用するため、現在のソートに依存します (Jim のソリューションにはソートに依存しないという利点があります)。
dt =現在のデータテーブル() ;
// 静的な値を設定します
列1 = dt <<新しい列( 「スクリーン値」 、数値) ;
列2 = dt <<新しい列( 「画面との差異%」 、数値、フォーマット(パーセント、 1 )) ;
各行について(
列1 [] = :価値[コル・ミン(行() 、 :主題)] ;
列2 [] = ( :価値-列1 []) /列1 [] ;
) ;
// 列の式をすべて 1 つのステップで実行します。
dt <<新しい列( 「画面との差異%」 、
フォーマット(パーセント、 1 ) 、
式(( :価値- :価値[コル・ミン(行() 、 :主題)]) / :価値[コル・ミン(行() 、 :主題)])
) ;
Re: 別の列のセルを参照する行間の差異を%スクリプト化する方法以下は、必要なことを実行する簡単なスクリプトです。
デフォルトの名前はここにあります( 1 ) ;
dt =現在のデータテーブル() ;
// 画面値のみを含むデータテーブルを作成します
dt <<場所を選択してください( :日== "画面" ) ;
dtスクリーン= dt <<サブセット(選択された行( 1 ) 、選択された列( 0 ) ) ;
dtスクリーン<<列を削除する( "日" ) ;
dtスクリーン:価値<<セット名( 「スクリーン値」 ) ;
// データを結合して戻します
dt <<アップデート(と( dtスクリーン) 、列の一致( :主題= :主題) ) ;
近い( dtスクリーン、保存しない) ;
// 最終的な計算を行う
dt <<新しい列( 「画面との差異%」 、式( ( :価値- :画面値) / :スクリーン値) 、フォーマット( "パーセント" 、 7 、 2 ) ) ;