RESOLVED: Info DAT -> Select DAT Conditional Bug

Windows 10, Build 64-Bit 2018.24410

Hi,

please bare with me for a sec while I describe the situation.

I created a C++ CHOP that uses the Info Dat as a way to output a series of data from the C++ code. I pre-allocated 200 columns. I only output about 20 values plus the row name.

The data looks something like:
x 1 2 3 … (empty cell) (empty cell) …
y 1 2 3 … (empty cell) (empty cell) …

Once the data has gone into the Info DAT, I tried to use a Select DAT to remove all the empty cells, using the Condition for column, re.match(“[0-9]”, me.inputCell.val) != None. I have include first column turned on.

But all I get is
x 1
y 1

However, if I create a separate tableDat, and manually input similar values, then, I run that through the same Select DAT, I do get what I want from the Select DAT, which is the 1st column and plus all the non-empty cells.

Is there something special about the Info DAT that’s causing this? Because conversion to CHOP seems to be fine.

And for hahas, I converted the Info DAT to a CHOP, then back to a DAT (just in case if it has something to do with how the data is stored), then I applied a different conditional, since all the empty cells now have a value of 0. I used the expression int(me.inputCell.val) > 0. I got a slightly different problematic behavior. I only got the 1st column plus the next column, which actually contains a 0. According to my conditional, this should not happen.

I have included my toe file and my dll along with this post. I have laid out all the issues in my toe file.

Please let me know if you have any questions.
Thank you!
CHOP - Copy.rar (12.1 KB)

Hi mouren,
I looked through your examples and I think you are expecting the Select DAT to first select out the rows and then apply to the conditional to the remaining rows. However, the Select DAT works on the full input table, so your conditional is being applied the row[0] on the input table, which in your Info DAT is empty across all columns save for col0 and col1.
If you want to apply the conditional to the values in the row[‘x’], then set parameter From Row = 2 (directly below Col Select Condition) and I think you’ll get the result you expect. The same goes for your 2nd example after the CHOP conversion.

Hi Ben,

thank you for your reply.

It took me a sec to finally understand what you are saying.

The Select DAT does not behave in a sequential manner, where it selects the rows first, then apply the col selection conditionals.

Rather, it’s more of an AND relationship between the Row and the Col selection conditions.

I would say, that is a rather nice feature. I would really vote for you guys including this point in the documentation of the Select DAT. :smiley:

Thank you again for clearing this up. Learned something new today.

Da.