行ごとのオーバーラップ/ギャップ分析1000行程度のデータセット全体でギャップ分析とオーバーラップ分析を実行する方法を探しています。データは、各機能のテストカバレッジを1、2、または3のスコアとしてランク付けするチームです。1と評価されたグループがない行全体のギャップを探し、複数のグループが1とランク付けされている場所も示したいと思います。データテーブルのスナップショットを以下に示します。
| 特徴 # | FVT | EVT | CVT | MSV | GQ | 証明書 | HW | PE | MFGテスト | PDE | TCM / FAE? |
| 1 | 1 | | 2 | 3 | | 3 | 1 | 2 | 2 | | |
| 2 | 1 | | 2 | 3 | | 3 | 1 | 2 | 2 | | |
| 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| 4 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 3 | 3 | 3 | 3 |
| 5 | 1 | | 2 | 2 | | 3 | 3 | 2 | 2 | | |
| 6 | 1 | | 2 | 2 | | 3 | 3 | 2 | 2 | | |
| 7 | 1 | | 2 | 2 | | 3 | 3 | 2 | 2 | | |
| 8 | 1 | | 2 | 2 | | 3 | 3 | 2 | 2 | | |
分析Re:行ごとのオーバーラップ/ギャップ分析あなたが何を探しているのか正確にはわかりませんが、これが私が書いた小さなスクリプトで、あなたが望む結果を生み出すと思います

Names Default To Here( 1 );
dt = Data Table( "MuMover Example" );
colNames = dt << get column names( continuous, string );
Remove From( colNames, 1, 1 );
Remove From( colNames, -2, 2 );
columnsWithNoOnes = {};
For( i = 1, i <= N Items( colNames ), i++,
Summarize( dt, byGroup = By( colNames[i] ) );
If( Contains( byGroup, "1" ) == 0,
Insert Into( columnsWithNoOnes, colNames[i] )
);
);
featureWithMultipleOnes = {};
countOfMutipleOnes = {};
For( i = 1, i <= N Rows( dt ), i++,
temp = Loc( dt[i, Index( 2, 10 )], 1 );
If( N Rows( temp ) > 1,
Insert Into( featureWithMultipleOnes, i );
Insert Into( countOfMutipleOnes, N Rows( temp ) );
);
);
New Window( "Results",
H List Box(
Outline Box( "Groups with No 1's",
Table Box( String Col Box( "Group", colNamesWithNoOnes ) )
),
Spacer Box( size( 15, 0 ) ),
Outline Box( "Features With Multiple 1's",
Table Box(
Number Col Box( "Feature", featureWithMultipleOnes ),
Number Col Box( "Count", countOfMutipleOnes )
)
)
)
);
Re:行ごとのオーバーラップ/ギャップ分析ジムに戻ってきてくれてありがとう。 望ましい結果についてもっと明確にすべきだった。私の目標は、セルに1を入力したグループと、1を入力したグループがないかどうかを示す機能テーブルを作成することです。例:上の表では、最初の機能には1、FVT、およびHWを示す2つのグループがあるため、その機能の結果はFVTHWになります。機能3の場合、1を要求するグループはないため、機能3の結果は「ギャップ」になります。それが理にかなっていることを願っています。
Re: 行ごとの重複/ギャップ分析ここにあなたが望むものを計算する式があります

If( Row() == 1,
colNames = Current Data Table() << get column names( continuous, string );
Remove From( colNames, 1, 1 );
Remove From( colNames, -2, 2 );
);
display = "";
For( i = 1, i <= N Items( colNames ), i++,
If( Row() == 1,
colNames = Current Data Table() << get column names( continuous, string );
Remove From( colNames, 1, 1 );
Remove From( colNames, -2, 2 );
);
display = "";
For( i = 1, i <= N Items( colNames ), i++,
cname = colNames[i];
Eval( Parse( Eval Insert( "If( ^cname^ == 1, display = display || \!" \!" || colNames[i] );" ) ) );
);
Trim( display );
);
If( display == "",
display = "Gap"
);
Trim( display );