公開日: 09/09/2026

変換のスコープ設定

グラフビルダーでは、変換に対してスコープを設定することができます。変換に対してスコープを設定することにより、変換列がローカルデータフィルタなどのプラットフォームのコンテキストに対してどのように対応するかを制御できます。この機能により、プラットフォームと同じ行のデータを用いて変換列が計算するようにできます。スコープ設定は、集計・分布・行グループなど、複数の行に依存する変換列にのみ適用できます。

変換列を作成する前に適用したいデフォルトのスコープを作成するには、列名を右クリックし、[デフォルトのスコープ]を選択します。既存の変換列にデフォルトとは別のスコープを適用するには、[スコープの変更]を選択します。

スコープのオプション:

テーブル

すべての行

除外

「除外」行属性が同じであるすべての行

フィルタ

ローカルデータフィルタの状態(および「除外」)が同じであるすべての行。デフォルトのスコープ。

グラフ

グループ化の値(および「フィルタ」と「除外」が同じであるすべての行

重ね合わせ

重ね合わせの値(および「グラフ」・「フィルタ」・「除外」)が同じであるすべての行

X

X値(および[重ね合わせ]・[グラフ]・[フィルタ]・[除外])が同じであるすべての行

変換のスコープをスクリプトで設定

テーブル以外のスコープは、暗黙的なスコープに対応しています。これらの暗黙的なスコープを示す変数は「@」で始まり、計算式エディタや保存されたプラットフォームのスクリプトで確認できます。

グラフビルダーでは、これらの「@」変数をスクリプトで用いることにより、より複雑なスコープを考慮した計算が行えます。計算式において、「@X」変数を使用しながら、いくつかのスコープを省略したりできます(たとえば、通常は[グラフ]と[X]の間には[重ね合わせ]というスコープが設定されます。しかし、この[重ね合わせ]を省略して[グラフ]と[X]だけを使用することがスクリプトでは行えます)。

以下のJSLスクリプトは、「体重」を平均体重で割った値を計算し、ローカルデータフィルタを使って2種類の「種」のみを表示します。

Open( "$SAMPLE_DATA/Penguins.jmp" );
Graph Builder(
     Transform Column( "相対体重", Formula( :体重 / :"Mean[体重]"n ) ),
     Transform Column(
           "Mean[体重]",
           Formula( Col Mean( :体重, :"@Exclude"n, :"@Filter"n ) )
     ),
     Variables( X( :種 ), Y( :相対体重 ), Group X( :性別 ) ),
     Elements( Points( X, Y, Legend( 13 ) ) ),
     Local Data Filter(
           Add Filter(
                columns( :種 ),
                Where(
                     :種 == {"Adelie Penguin (Pygoscelis adeliae)",
                     "Chinstrap penguin (Pygoscelis antarctica)"}
                ),
                Display( :種, N Items( 3 ), "List Display" )
           )
     ),
     SendToReport(
           Dispatch( {}, "相対体重", ScaleBox,
                {Min( 0.5 ), Max( 1.4 ), Inc( 0.2 ),
                Minor Ticks( 0 ), Add Ref Line( 1, "Solid", "Black", "", 1 )}
           )
     )
);

結果として得られるグラフは、フィルタで除外されなかった行の平均体重を表示します。テーブル内のすべての行を使用するようにスコープを変更するには、Mean[体重]列を右クリックし、[スコープの変更]>[テーブル]を選択します。

図4.45 スコープの変更 

Change Scope

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).