SteveMyres Posted May 19, 2022 Share Posted May 19, 2022 I'm retrieving from a CSV file a 2D array where the fields are a mix of strings, numbers, booleans (encoded as "TRUE" and "FALSE") and one field containing a number that's a list index. So I'm displaying the array in a table where all the column definitions are MyArray[][FieldNumber], and they all work fine. The list index doesn't work. I tried the following expressions TypeList[ConfigurationArray[][10]] //and TypeList[StrToDouble[ConfigurationArray[][10]] but what I get instead is a list of TypeList[0..n], even though ConfigurationArray has all "5"s in the 10th column. Quote Link to comment Share on other sites More sharing options...
AzeoTech Posted May 19, 2022 Share Posted May 19, 2022 First, you should only use () for function calls, and [] for subsetting. StrToDouble() is a function. The fact it works now does not guarantee it will work in future releases. So, my understanding is that TypeList is a lookup table? That you are trying to display a particular element of TypeList based on the value in ConfigurationArray[][10]? If so, you can't do that on an array like this. First, remember that configurationArray[][10] is actually a two dimensional array, with 1 row and x columns and you can't a subset only looks at the rows. But the real problem is that the subsetting of typelist is only going to look at the first element of that array. You couldn't, for example, do: global indices = {2,1,5,4} global string typeList = {'a','b','c','d','e','f'} ? typeList[indices] This will just print 'c' because it only looks at the 2 of indices and ignores the rest. DAQFactory doesn't understand what you are trying to do, and for good reason. This is, unfortunately, one of the few examples where you can't use built in functions to achieve what you are doing and instead have to resort to a loop. That said, I've added a feature request to our list for a lookup() function that would work for this. It is actually a very easy function to implement internally so we can probably squeeze it in real quick. Email us direct if you'd like a beta. Quote Link to comment Share on other sites More sharing options...
SteveMyres Posted May 19, 2022 Author Share Posted May 19, 2022 Right, I had used parens. Just typed from scratch and messed it up in the post. OK thanks for the explanation! Quote Link to comment Share on other sites More sharing options...
SteveMyres Posted May 19, 2022 Author Share Posted May 19, 2022 Quickest interim solution -- just added a VLOOKUP() to the Excel file, so the name is actually in the CSV verbatim. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.