For inexplicable reasons, when we are merging multiple Excel files, the Excel Reader copies lines that are only listed once in the original file. We haven’t made any changes to the workflow and unfortunately we can’t find the problem. Can anyone help us here? Thanks very much.
Annika & Alex
and welcome to KNIME Community!
I’m afraid it will be hard to help you if you don’t provide more information. Some print screens or even better workflow example. (Dummy data works just fine.)
Thank you very much for your quick reply. I have some more information about our problem here. The first screenshot shows where the error message appears in the workflow, including the error message in the KNIME console. The second screenshot shows that the positions or lines were copied several times. The third screenshot shows the source file where the position or line is only listed once. And why the position is copied is a mystery to us. I hope we were able to explain each other clearly. Thanks!
still not 100% clear to me what are you doing (I mean the logic behind flow) but seems to me that Cell Replacer isn’t a node where issue occurs as it can’t duplicate rows (note that it doesn’t give error rather a warning saying there are multiple keys in your dictionary table - in this case it takes last key). If you check number of rows after Concatenate and number of rows after Cell Replacer node you should have same number. So I would check Joiner output (he is usually to blame for if you have more rows than expected) and reason behind concatenating right unmatched rows with whole Excel Reader and not only left unmatched rows (but that’s maybe ok as I don’t know the logic). And if this flow was working as expected before then either your input data is different than before or node configuration is different than before.
Hope this helps.
@AlexanderSowah I would suggest to check if the steps with writing and reading the Excel file are in sync, the old data gets read before the new one is written. If you do this by hand it might work if you execute all nodes you might have to control the sequence of execution with Flow Variables.