Where is the best place to post KNIME feature / enhancement requests?
My request is: could you change the Excel reader node to default to:
Table contains column names in row number 1.
The vast majority of the time I select this and this would save time.
Thanks for considering this,
I think Forum is the right place to post your ideas.
Regarding your request I don’t think this should be default. I know couple of other software programs where you have to specify whether you have headers in your input file or not. As well maybe your headers are not in first row so it would be a bit confusing i believe…
But there is a solution! What you can do is following. Take String Input node and create flow variable with value true with which you will control information about column headers. On Flow Variables tab in Excel Reader node you have HAS_COL_HDRS which is exactly for that purpose. Give it the value of created string variable. The String Input node has to be connected to your Excel Reader of course. Then by default column headers are set to be in row number 1 (if they are not you should create Integer Input node as well with value of row which contains headers and assign it to COL_HDR_ROW on same Flow Variables tab). Those two (three) nodes you can collapse into Metanode and save as a template and reuse it again and again.
I guess it should work
Thanks for the reply Ivan.
I tried it and it doesn’t work.
For some reason the COL_HDR_ROW cannot be controlled by a flow variable.
I still think it would be better to default to “Table contains column names in row number: 1.” The user could always change it to a different value, of course. In my use cases 90% of the time I select row 1.
I am interested to hear if any others have the same experience, where the vast majority of the time they are selecting row 1 as the header row.
Also interested if you have any other ideas to solve this.
(Btw: one of the challenges I have with metanodes templates is working across different workspaces. Are there are any shortcuts to using templates across multiple workspaces?)
For the KNIME team, perhaps there could be a topic thread on the forum dedicated to feature / enhancement suggestions?
COL_HDR_ROW setting requires an Integer Flowvariable, you can detect this by the little
i in the box before the name. If no variable of that type is available the variable selection drop down is disabled.
If your flow variable True from print screen has value true then it is enough. You don’t need to set COL_HDR_ROW if headers are in row number one.
I still don’t agree with you
Thanks Ivan and Gabriel. Sorry for my ignorance on that and thanks for the education. It works great!
One follow up question: do you have any tips on sharing Metanode Templates across workspaces? Do you just have to export and import them into the new workspace?
Ivan - it didn’t seem to work for me just setting True for the HAS_COL_HD, seems to require the COL_HDR_ROW. Maybe if you have time you can test it on your side and tell me what I’m missing. It does work with the extra integer variable.
Here is a workflow example. Take a look and if you have any questions feel free to ask.
Excel_reader_forum.knwf (26.7 KB)
Don’t have experience with sharing Metanodes across different workspaces…
Thanks Ivan - much appreciated. Works great.
(One more point on the “set to read the first row as columm headers by default” and then I’ll leave it alone :-))…
Here’s my reasoning:
Within KNIME nodes, there are many defaults set.
What is the purpose of a default?
To save the user time when configuring the node, presumably if the majority of the time certain settings are chosen by users.
Therefore, if my hypothesis is true that the vast majority of the time users select to use the first row as column headers, it would make sense to set that as the default. In my case 90%+ of the time I choose that option. I would like to know from other users what percentage of the time they choose that option. If it is a majority, then we should ask KNIME to set that as the default. (Similar to, for example, the default to choose the first sheet that has data, a default already set in that node).
Do you see any disadvantage to setting the default to the first row, if most users choose that option most of the time? A user can change that option, of course, for the minority of cases where it’s not true.
Anyway, I’ll leave that alone and thanks again for the help.
It is a fine reasoning. I just don’t use it that much to find it a problem.