Virtual Join links a main data table to one or more auxiliary data tables. The feature enables the main data table to access data from the auxiliary data tables without physically joining the tables. See Virtually Join Data Tables in the Using JMP book for details.
dt1 = Open( "$SAMPLE_DATA/Pizza Profiles.jmp" );
dt1:ID << Set Property( "Link ID", 1 );
// add Link ID and turn it on
dt2 = Open( "$SAMPLE_DATA/Pizza Responses.jmp" );
dt2:Choice1 << Set Property( "Link Reference", Reference Table( "$SAMPLE_DATA/Pizza Profiles.jmp" ) );
dt2:Choice2 << Set Property( "Link Reference", Reference Table( "$SAMPLE_DATA/Pizza Profiles.jmp" ) );
dt2:Choice << Set Property( "Link Reference", Reference Table( "$SAMPLE_DATA/Pizza Profiles.jmp" ) );
// add Link Reference to the Choice1, Choice2, and Choice columns
obj = dt2 << Distribution( // create a distribution of Crust[Choice1]
Weight( :Subject ),
Nominal Distribution(
Column(
Referenced Column(
"Crust[Choice1]", // specify the joined column name
Reference( Column( :Choice1 ), Reference( Column( :Crust ) ) )
)
)
),
Nominal Distribution( Column( :Choice1 ) )
);
The Columns panel in a data table shows you the names of the linked columns. For example, open the Movie Inventory.jmp and Movie Rentals.jmp sample data tables to see the linked columns shown in Figure 8.7. By default, the name of the Link ID column is in square brackets.
The default column names show how the column is linked. The column name of the source column is followed by the name of the referencing column in brackets. For example, Figure 8.7 shows the Name source column followed by the referencing column [Item Number] in brackets.
Figure 8.7 Linked Columns in Movie Rentals.jmp
You change the name of the virtually linked column name with Set Name, just like you change the name of other columns. The difference is that you need to refer to the virtually linked column by its full referencing name (referencing path). For example, the following statement changes the name of the virtually linked column Rating[Item Number] to Movie Rating.
Referenced Column(
"Rating[Item]",
Reference( Column( :Item Number ), Reference( Column( :Rating ) ) ) )
<< Set Name( "Movie Rating" );
You can also specify that the referenced column name be used in linked columns. This option lets you define a shorter column name (for example, Rating instead of Rating[Item Number]). Include the Use Linked Column Name option:
Column( "Item Number" ) << Set Property( "Link Reference", {Reference Table( "Movie Inventory.jmp" ), Options( "Use Linked Column Name" )});
Now, when a virtually linked column is created, the default name is the name of the source column (that is, Name instead of Name[Item Number]).