Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Key table that isn't loading

hello everyone

i am writing the following script in order to create an key table

for some reason the key table doesn't appear to be loading and i don't see at the data model viewer although i am not getting ant errors...

here is the script:

KEY_TABLE_TEMP:

LOAD

PART_ID

RESIDENT

PARTS;

CONCATENATE

LOAD CUST_CUST

RESIDENT

CUSTOMERS;

CONCATENATE

LOAD

ORD_ORDID

RESIDENT

ORDERS;

CONCATENATE

LOAD

OPO_OPORDERID

RESIDENT

OPEN_ORDERS;

CONCATENATE

LOAD

INV_ID

RESIDENT

INVOICES;

KEY_TABLE:

LOAD

PART_ID,

CUST_CUST,

ORD_ORDID,

OPO_OPORDERID,

INV_ID

RESIDENT KEY_TABLE_TEMP;

DROP TABLE KEY_TABLE_TEMP;

1 Solution

Accepted Solutions
maxgro
MVP
MVP

try

KEY_TABLE:

noconcatenate

LOAD

PART_ID,

CUST_CUST,

ORD_ORDID,

OPO_OPORDERID,

INV_ID

RESIDENT KEY_TABLE_TEMP;

View solution in original post

7 Replies
maxgro
MVP
MVP

try

KEY_TABLE:

noconcatenate

LOAD

PART_ID,

CUST_CUST,

ORD_ORDID,

OPO_OPORDERID,

INV_ID

RESIDENT KEY_TABLE_TEMP;

sunny_talwar

Try this:

KEY_TABLE:

NoConcatenate

LOAD

PART_ID,

CUST_CUST,

ORD_ORDID,

OPO_OPORDERID,

INV_ID

RESIDENT KEY_TABLE_TEMP;

reddy-s
Master II
Master II

Hi Jhonatan,

When two tables in the load script have the same field names , they get concatenated automatically. So as sunindia‌ mentioned, you need to explicitly use the NoConcatenate key word before the load of the second table.

Thnaks and Regards,

Sangram Reddy.

jonathandienst
Partner - Champion III
Partner - Champion III

If you are expecting to have association between the various IDs in the link table, then you will be disappointed with the approach above (including the proposed fixes). Simply concatenating the ID fields will not create any associations as the other ID fields will all be null. For example, when you load INV_ID, all the other ID fields are filled with null values for the rows containing INV_ID. Likewise, the rows containing PART_ID will have null values in the other fields. So if you select an invoice value (linked via INV_ID), you will exclude all values of all the other links.

Presumably, your data sources for invoices and orders contain references to customer, part numbers, etc. You will need to create the link table by joining these on the appropriate fields or bringing in the associations. Something like:

     LOAD DISTINCT ORDERID,

          CUST_CUST,

          PARTID

     RESIDENT ORDERS;

     CONCATENATE

     LOAD DISTINCT OPO_OPORDERID,

          CUST_CUST,

          PARTID

     RESIDENT OPEN_ORDERS;


     CONCATENATE

     LOAD DISTINCT INV_ID,

          CUST_CUST,

          PARTID

     RESIDENT INVOICES;


     JOIN LOAD DISTINCT   // add parts not already loaded

          PART_ID

     RESIDENT PARTS;

     JOIN LOAD DISTINCT  // add customers not already loaded

          CUST_CUST

     RESIDENT CUSTOMERS;

If that is not right, I suggest that you shat more details about your data sctructure and what associations you need. For example, are invoices linked to orders?

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
Not applicable
Author

Hey Jonathan !

this is my tables ,

data base.PNG

Not applicable
Author

What are your suggestion?

Not applicable
Author

Here is my tables , i would be happy to hear your suggestionsdata base.PNG