I provided this response to SMW privately; hopefully it will help others.
Try running this code. Look in the log window to see what happens. The get rows where function returns a matrix, not an actual row number. You have to loop over the matrix to use the row values.
Names Default To Here( 1 );
dt1 = New Table( "Test", Add Rows( 4 ),
New Column( "Column 1", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] ) ),
New Column( "Column 2", Character, "Nominal",
Set Values( {"This is EMOTIONAL", "abc", "EMO", "Here's an EMO example"} ) ),
New Column( "Column 3", Character, "Nominal",
Set Values(
{"And not KLARIFIED", "KLA", "xyz", "This contains KLA string"} ) ),
New Column( "Column 4", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [., ., ., .] ) ),
New Column( "Column 5", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [., ., ., .] ) ),
New Column( "Column 6", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [., ., ., .] ) ),
New Column( "Column 7", Character, "Nominal",
Set Values( {"Hello", "World", "Fubar", "Ski"} ) ),
);
match_rows = dt1 << get rows where(contains(as column(2),"EMO")
& contains(as column(3),"KLA"));
for (i = 1, i <= nrows(match_rows), i++,
one_row = match_rows[i];
apass = column(dt1, 7)[one_row];
print(apass);
);