Spotfire In Statements, Ranges, Etc - spotfire

I come from an SQL background, so trying to limit data coming into the Spotfire project using the expression builder has become a challenge. For instance, I can't seem to find an example of the equivalent of the following:
SELECT *
FROM TABLE
WHERE COLUMN IN ('X','Y','Z')
It's probably staring me in the face, but the only examples I can find are for IF and CASE statements, which are not what I want.
Another example is trying to find an example of an equivalent BETWEEN statement (i.e, WHERE COLUMN BETWEEN 1 and 20). I found the RANGE function, but I have not found any good examples on how to use it.
Does anyone have any suggestions to sites which would provide some examples of what should be easy expressions to create? The online Spotfire guide is not that helpful and my google fu has failed to find anything.
If you could give me some pointers on the two statements above, I would really appreciate it!
Thanks!

I managed to get some suggestions from some friends of mine. Gaia, thank you for your suggestion--YouTube was one suggestion I did receive. I also heard about community.tibco.com, which I will be checking out.

Related

What Formula to use for this task?

So for a recent interview I was given a set of tasks to carry out on a workbook. I'm now going through the tasks that I couldn't understand or complete. I was wondering if anyone could help me through it or know a site maybe better suited for this sort of thing?
Question
Dataset
So here's the original formula:
=IF(E2="national","10",IF(E2="local","25",""))
And they want you to reprice local calls so they're 5p per minute with a price cap of 25.
Easiest way to do that is to nest another IF statement:
=IF(E2="national","10",IF(E2="local",IF(K2>5,"25",K2*5),""))
In the future, please write a question title that others will be able to easily search for when they have the same issue.

Multithreading in VBA using this tool

I'm trying to use fuzzy lookup to match a list of correct names with a set of "dirty" names. But apparently vba only uses one core of my processors and it takes too much time because I am using it on at least 5000 names.
Here's a link to the fuzzy code: https://www.mrexcel.com/forum/excel-questions/195635-fuzzy-matching-new-version-plus-explanation.html#post955137
I also researched about "multi-threading" solutions for VBA and I found that there's no native way of doing it but someone found made an alternative using some scripts.
Here's the link for the multithreading vba script tool: https://analystcave.com/excel-vba-multithreading-tool/
Now, all I need to do is to integrate the lookup code to this multithreading script so that it will speed up the processing of this function. I am assuming that this is possible right?
Can someone help me with this? I only learned VBA through googling and reading other codes but this vba multithread tool is quite complicated for a beginner like me.
Thank you very much!
I'm not qualified to address the multithreading, but about your speed issue: are you running the code directly on the spreadsheet?
A better method is to import the entire table or range into an Array, and run the code on it there while it's in computer memory. It runs MUCH faster there. Then paste the results into the spreadsheet.
Here's some info on pulling the data into an array:
Creating an Array from a Range in VBA
http://www.cpearson.com/excel/ArraysAndRanges.aspx
You'll have to fiddle with the rest of your code, but basically you'll treat the array as if it were a table.
Below is an excerpt from Microsoft website. I believe their C# based add-in Fuzzy Lookup for MS-Excel is multi-threading based and much faster than the code you provide. Why to re-invent the wheel when we have a better option available.
The Fuzzy Lookup Add-In for Excel was developed by Microsoft Research and performs fuzzy matching of textual data in Microsoft Excel. It can be used to identify fuzzy duplicate rows within a single table or to fuzzy join similar rows between two different tables. The matching is robust to a wide variety of errors including spelling mistakes, abbreviations, synonyms and added/missing data. For instance, it might detect that the rows “Mr. Andrew Hill”, “Hill, Andrew R.” and “Andy Hill” all refer to the same underlying entity, returning a similarity score along with each match. While the default configuration works well for a wide variety of textual data, such as product names or customer addresses, the matching may also be customized for specific domains or languages. The following libraries are required and will be installed if necessary:
.NET 4.5
VSTO 4.0

Effective methods for DBpedia queries

I've been trying to implement a query to find the birth date of a given person using DBPedia. This seems easy enough but I'm finding a lot of different tags to match names and birth dates, not all of which show up under all entities.
For instances we have dbp:name, dbp:birthName, foaf:givenName, foaf:surname, dbo:birthDate, dbo:birthYear, dbp:dateOfBirth, etc.
I'm wondering if...
1 - Is there a higher level library I can use (preferably in python but Java is ok too) that "understands" these different tags and that can help form appropriate queries to search and combine the different information.
2 - Is there any guidance on how to accomplish this. For instance, is it better to use the ontology (dbo) or the property (dbp) or the foaf. I'm also curious if a common approach is to pre-download all the possible tags and search on all that seem applicable and then select the "best" returned data. If someone could offer some guidance or point me to a good tutorial, I'd appreciate it. I've found some info on the web but nothing that really addresses my question.

Generating multiple optimal solutions using Excel solver

Is there a way to get all optimal solutions when you are solving some problem with Excel Solver (Simplex LP method)?
If not, what is the best way/add-in to Excel to solve it and convert existing VBA code to use this new way?
Actually, I have found a way to do this with Excel solver, although it is not optimal in sense of time consumption but that is not issue for me.
If you can assign unique id for each possible solution on some way, which is true in my case, then for each solution you find you can check if there is some solution with same value with different id on following way :
Find first optimal solution and save solution id and result. I will call this origID, origRes
Check if there is some solution with id < origID and res = origRes
If yes, then consider newId as initial id and continue with step 2 until you can't find solutions which satisfied criteria
After that, do the same thing with condition id > origID and res = origRes
After you make sure you found all solutions with optimal solution origRes, then we can go and find solution which is not optimal as origRes. I did it on a way to add condition that new solution needs to be <= (origRes - 0.01) because I know that all solutions will be with 2 decimal places.
Go to step 2 again
I know this is not the best way but I usually do not need more than 100 solutions and currently I can get it in 2 mins which is acceptable for me.
Although this looks easy, it actually is not such an easy question. Even the definition of "all possible optimal solutions" is not clear. There may by infinitely many of them. Asking for "all basic feasible solutions" (i.e. corner points) sounds better. To my knowledge there are no solvers providing this. I also do not know of a really simple technique to enumerate all optimal bases.
One interesting approach is to use a MIP formulation to enumerate all optimal bases:
Sangbum Lee, Chan Phalakornkule, Michael M. Domach, Ignacio E. Grossmann, "Recursive MILP model for finding all the alternate optima in LP
models for metabolic networks," Computers and Chemical Engineering 24 (2000) 711-716. (link)

What is the difference between full text search and keyword search?

What is the difference between full text search and keyword search ?
Definitions are quite ok . Can anybody give brief idea what is the difference and which one is better ?
For information retrieval as you mention here, the ideal search for you would be keyword. And actually also pretty generally, why ?
Well, you can see to imagine every person having their own way of interpreting a subject, and giving a full text search will give you more accurate info, or no hits at all just cause of the fact that you write it in your "Own" language. Selecting your keywords correctly and keeping it short and troughout, will not only give you better results, but also clever you to keep notes for future reference and learn more in depth due to an actual word stucking to your head.

Resources