Page tree
Skip to end of metadata
Go to start of metadata

UNION# returns a string containing the union of two (or more) TeLiTab sets

Syntax

UNION#(Telitab_1$, UnfoldPar_1$, Telitab_2$, UnfoldPar_2$, Mode%)

or

UNION#(Mode%, Telitab_1$, Telitab_2$, ...)

Arguments

  • Telitab_1$ is a string expression containing/returning the first Telitab set.
  • UnfoldPar_1$ is a name of parameter for which to unfold the first Telitab set.
  • Telitab_2$ is a string expression containing/returning the second Telitab set.
  • UnfoldPar_2$ is a name of parameter for which to unfold the second Telitab set.
  • Mode% determines the way to union:
    • Mode% = 0, Sparse union, i.e. tables are simply attached and not available values are indicated by -999999 (the standard code for PENDING).
    • Mode% = 1, Union combining parameters of cases with one or more corresponding parameter(s) + value(s).

 

Remarks

  1. As shown, two syntax types are available. With the second syntax type you can union several (even more than two) TeLiTab datasets at once.

Examples

Sparse union 

Spare union of Telitab_1$ and Telitab_2$:

Telitab_1$ contains the dataset:


"MODELS" 


-4 "1" "2" "3" "4" 
"MODMAT$" "wood" "foam" "wood" "plywood" 
"LPP" 112.30 133.80 98.60 145.00 
"B" 17.80 21.50 16.42 22.40 
"T" 7.65 9.20 6.70 9.40 

"PROJECTS" 


"CLIENT$" "YardX" 
}

To explain the data: 
you have two objects, MODELS and PROJECTS presented as list values in Telitab_1$ containing TeLiTabs themselfs (with several parameters). 
LPP is part of the MODELS object (TeLiTab).

When you unfold Telitab_1$ dataset on parameter "LPP", you get:


"PROJECTS" 


"CLIENT$" "YardX" 


-4 "1" "2" "3" "4" 
"MODMAT$" "wood" "foam" "wood" "plywood" 
"LPP" 112.30 133.80 98.60 145.00 
"B" 17.80 21.50 16.42 22.40 
"T" 7.65 9.20 6.70 9.40

You see that PROJECT still is a separate object (and presented as a list value in Telitab_1$). All other data (which was part of the MODELS object) now is part of Telitab_1$ and thus a table in the TeLiTab.

Telitab_2$ contains the dataset:


-4 "1" "2" "3" "4" 
"MODNO$" 5684 6231 6301 6537 
"LPP" 112.30 162.70 133.80 118.50 
"B" 17.80 27.80 21.50 16.70 
"T" 7.65 11.20 9.20 6.80

and UnfolPar_2$ contains "NullString", what means that no unfolding of Telitab_2$ is performed.

To carry out the unfolding and the UNION we write: 

UNION#(Telitab_1$, "LPP", Telitab_2$, "NullString", 0)

it returns:


6 "MODMAT$" "LPP" "B" "T" "MODNO$" 
"1" "wood" 112.30 17.80 7.65 "-999999" 
"2" "foam" 133.80 21.50 9.20 "-999999" 
"3" "wood" 98.60 16.42 6.70 "-999999" 
"4" "plywood" 145.00 22.40 9.40 "-999999" 
"5" "-999999" 112.30 17.80 7.65 5684 
"6" "-999999" 162.70 27.80 11.20 6231 
"7" "-999999" 133.80 21.50 9.20 6301 
"8" "-999999" 118.50 16.70 6.80 6537 
"PROJECTS" 


"CLIENT$" "YardX" 



"CLIENT$" "YardX" 



"CLIENT$" "YardX" 



"CLIENT$" "YardX" 












}

Please note that the union simply contains the sum of two Telitab sets and contains the combined parameters and cases of both sets (Mode%=0). Cases 4-8 have empty object values for PROJECTS.


Combined union 

If the union should combine the parameter values of the cases with the same value of the overlapping parameters Mode%=1 should be used:

UNION#(Telitab_1$, "LPP", Telitab_2$, "NullString", 1)

returns:


-6 "1" "2" "3" "4" "5" "6" 
"MODMAT$" "wood" "plywood" "wood" "-999999" "foam" "-999999" 
"LPP" 98.60 145.00 112.30 162.70 133.80 118.50 
"B" 16.42 22.40 17.80 27.80 21.50 16.70 
"T" 6.70 9.40 7.65 11.20 9.20 6.80 
"MODNO$" "-999999" "-999999" 5684 6231 6301 6537 
"PROJECTS" 


"CLIENT$" "YardX" 



"CLIENT$" "YardX" 



"CLIENT$" "YardX" 






"CLIENT$" "YardX" 



}

Case 1 and 2 of the result are cases 3 and 4 from the unfolded object MODELS in Telitab_1$
Case 3 is a combination of of the cases 1 of both input sets. 
Case 4 corresponds with case 2 from Telitab_2$
Case 5 is again a combination of respectively the cases 2 and 3. 
Case 6 corresponds with Case 4 from Telitab_2$.

The UNION# function with Mode%=1 can be used as a database manipulation function. The union of two Telitab sets as produced by this functiun completes a set of data by combining data from two source sets in a single table (see also SECTION#() ).


 

Quick links: Functions overview | Attribute overview | Constants overview | Dimensions overview


  • No labels