MATLAB Answers

0

Is it possible to use outerjoin for more than two tables?

Asked by Stefan Azzopardi on 14 Jun 2018
Latest activity Commented on by Peter Perkins
on 3 Jul 2018

Is it possible to use the function 'outerjoin' in Matlab for more than 2 tables? Basically, I have a number of variables (around 15), all in table (1x2) having one column timestamp and another column variable. I am trying to join all variables in one table to finally make some calculations. The method of outerjoin worked perfectly for the first 2 tables but could not add more than 2 variables.

If this is not possible, is there an alternative way on how should I proceed?

Regards

  5 Comments

@Stefan Azzopardi: What does "...but it still did not work" actually mean: did you get an unexpected output, did it run but you got no output at all, did it throw an error (if so, what is the complete error message), did MATLAB go into an infinite loop, or did your laptop overheat and catch fire? Should I call the fire service?

If you want help then you will actually need to give information on what you tried, what you expected, and what happened.

I have tried the loop but it gives error, which I managed to fix. Still the names of the columns end up to be renamed by Matlab so that one still can verify the name. Also, I have around 15 tables to join and therefore this would take an infinintely big loop and therefore I was asking whether there was an alternative way in which one could perform this operation.

It's kind of impossible to tell from your description, but it may be that you want to merge the keys, which is not the default in an outerjoin.

I would think that the bigger problem would be that doing an outerjoin on 15 tables would give you a very large number of rows, unless there are few if any non-matches, in which case you might consider an innerjoin.

Sign in to comment.

1 Answer

Answer by Stefan Azzopardi on 14 Jun 2018
 Accepted Answer

Am still finding problems trying this way:

s = outerjoin (Timestamp, J_Incoming)
s.Timestamp_J_Incoming = []
d = outerjoin (s, CP_Incoming)

in this section it is giving me error on variable 'd'. Timestamp is 1 column of time, J_Incoming and CP_Incoming contains 2 columns each, 1 Variable and 1 Timestamp. Using 's', I have created a table with 1 Timestamp and 1 Variable (J) after clearing on of the J_Timestamp. It is still giving me error "Cannot find a common table variable to use as a key variable." The variable on CP_ Incoming is timestamp

  0 Comments

Sign in to comment.