Hi @b_mitchell , thanks for the kind feedback. Unfortunately I did discover a flaw in the calculation.
I believe it fails if the “A” range crosses the zero boundary, if there isn’t an explicit value of zero in the A column, since it tries to find 0 as a ratio of the range which will alway returns 0. Also if 0 is in the A column, and we select it we have a division by zero in the calculations.
Zero - it’s nothing… but trouble!
So, I’ve looked to handle this by first adjusting the A-range when it is returned, so that if the low-A value is below zero, the range and the value of N used in the calculations is adjusted upwards.
With regards to your question about feature requests, there is a “Feedback & Ideas” section of the forum where you can suggest features, although of course there is no guarantee of implementation.
One of the nice things about KNIME though is that even if a node doesn’t exist, provided you can make something sufficiently generic that it could be reusable, it is possible to package up a sequence of nodes as a component. So I’ve looked at doing that here:
The idea is that you configure it with just three options. The column to be looked up (N in your example) and the two “dictionary” columns (A and B in your example). It then attempts to return the required result interpolating B based on the position of N within A.
I’ve attached my sample workflow, where as I test I thought that this would actually make a generic “converter”.
Simply by giving it a value range for Celsius to Fahrenheit conversion as follows:
It is possible to supply it with a set of “things” within that range that I wish to convert:
Configuring as follows:
Out pops the conversion
Back to your question at hand. You can drop the component from the hub onto your workflow and then you should be able to copy/paste it wherever you need to reuse it.
Interpolated Value Lookup.knwf (35.6 KB)