중복된 열의 값을 가져오는 방법은?안녕하세요 여러분,
열 A의 값을 가져와서 열 B의 중복된 값과 함께 배치하려면 어떻게 해야 합니까?
예를 들어, 내 데이터는 다음과 같습니다.
| 열 A |
열 B |
| A |
사과 |
| |
사과 |
| B |
바나나 |
| |
망고 |
| C |
망고 |
예상되는 출력은 다음과 같습니다.
| 열 A |
열 B |
| A |
사과 |
| A |
사과 |
| B |
바나나 |
| C |
망고 |
| C |
망고 |
자동화 및 스크립팅윈도우Re: 중복된 열의 값을 얻는 방법?여기에 하나의 해결책이 있습니다

Names Default To Here( 1 );
// Create the sample data table
dt = New Table( "Example",
Add Rows( 5 ),
New Column( "Column A",
Character,
"Nominal",
Set Values( {"A", "", "B", "", "C"} )
),
New Column( "Column B",
Character,
"Nominal",
Set Values( {"Apple", "Apple", "Banana", "Mango", "Mango"} )
)
);
// Sort the table to allow non black Column A rows to be first
dt << Data Table( "Example" ) << Sort(
By( :Column B, :Column A ),
Order( Ascending, Descending ),
Replace Table( 1 )
);
// Modify the Column A
Hold = "";
For Each Row(
If( :Column A != "",
Hold = :Column A,
Show( Lag( :column b ), :column b );
If( Lag( :Column B ) == :Column B,
:Column A = Hold
);
)
);Re: 중복된 열의 값을 얻는 방법?다음은 표 플랫폼을 사용하는 또 다른 접근 방식입니다. 정렬은 필요하지 않습니다.
dt = New Table( "Test", Add Rows( 5 ),
New Column( "Column A", Character, "Nominal",
Set Values( {"A", "", "B", "", "C"} ) ),
New Column( "Column B", Character( 16 ), "Nominal",
Set Values( {"Apple", "Apple", "Banana", "Mango", "Mango"} ) )
);
dtab = dt << Tabulate(
Show Control Panel( 0 ), invisible,
Add Table( Row Table( Grouping Columns( :Column A, :Column B ) ) )
);
dt2 = dtab << Make Into Data Table (invisible);
dtab << close window;
for (i = 1, i <= nrows(dt2), i++,
one_key = dt2:Column B[i];
one_value = dt2:Column A[i];
rowset = dt << get rows where(dt:Column B == one_key & dt:Column A == "");
dt:Column A[rowset] = one_value;
);
close(dt2, nosave);