你好呀,
我有一個包含一些列的表,例如“HIGH”和“SMART”,並且有三個可選值:“0”、“1”和“None”。
我想建立一個描述每一行的新列。
例如,如果第一行的“HIGH”和“SMART”列中包含“1”,則新列應包含“HIGH, SMART”。
如何使用列公式實現此目的?
謝謝。
如果你有一張這樣的桌子

你可以使用公式
vals = {};
If(:H == "1", Insert Into(vals,"H"));
If(:S == "1", Insert Into(vals,"S"));
Concat Items(vals, ", ");

還有許多其他方法可以實現此目的
What you describe is almost the application case of 合併列 with the setting Selected Columns are Indicator Columns.
但會抱怨None 。
若要解決此問題,請透過重新編碼或僅將資料列轉換為數字資料類型來刪除 None 值:
dt = New Table( "test",
Add Rows( 5 ),
New Column( "H",
Character,
Set Values( {"None", "1", "0", "1", "1"} )
),
New Column( "S",
Character,
Set Values( {"1", "0", "1", "None", "1"} )
)
);
:H << Set Data Type( Numeric );
:S << Set Data Type( Numeric );
dt << Combine Columns(
columns( :H, :S ),
Column Name( "summary" ),
Delimiter( "," ),
Selected Columns are Indicator Columns( 1 )
);