how can I concat Two datasets?
You are going to have to write a script to iterate through the datasets and do this manually then. I would recommend reading through this and try your hand at writing a script - Datasets - Ignition User Manual 8.1 - Ignition Documentation
Here is an example I created for somebody a little while back. It takes a dataset from a custom property, and a dataset from a tag and stitches them together into a data table using a common column. Once you get your head around the scripting, you probably won't too much trouble modifying this example to fit your usage case:
So you basically want the equivalent of an SQL join ?
Where do the datasets come from ?
What should be joined on ? Or will they always have the same number of rows, in the right order ?
Without more details, the simplest solution would be
for i in range(dataset2.getColumnCount): dataset1 = system.dataset.addColumn( col=dataset2.getColumnAsList(i), colName=dataset2.getColumnName(i), colType=dataset2.getColumnType(i) )
Yes I want the equivalent of an SQL join
And the number of rows are differents
Then what do you join them on ? How should they be joined if they're not the same length ?
yes with differents length.
table1: 5x3 and table2: 4x6
That doesn't answer my question.
I'll try to rephrase:
With an SQL join, you use a column to match rows from one table to rows from another one:
select * from table_a inner join table_b on table_a.column_name = table_b.column_name
What column should be used to match rows in your datasets ? There's nothing there that could be used for this, so we need a way to know HOW the datasets should be joined.
Maybe show us with different datasets, of different lengths.
If you're not comfortable with English, try in your own language and we'll do what we can.
As it is, there's no proper solution to your problem.
You need something that is similar between the two tables.
For instance, in SQL you tell it what to join on.
SELECT * FROM SomeTable JOIN SomeTableA on SomeTable.SomeColumn = SomeTableA.SomeColumn
So the tables are different lengths and widths, how should the system decide which rows from Table 2 match up to the rows from Table 1?
I'am Sorry, I want do it in ignition perspective . I have dataset1 and dataset2 dataset = dataset1 concat dataset2
You need to read more carefully.
We can't help you if you don't answer our questions.
if the rows from table 2> table1 in this case, I will write defauts values in the rows of table1 to have the same number of rows.
table2 : 2x3
if I have Table1 :1x3
I will put defaut value on the other rows:
Country City age
Angola Luanda 12
XX XX 00
XX XX 00