Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

General Script Error?

Hi, new to qlikview but not new to databases and sql.

I'm trying to load a data mart into qlikview, it has two fact tables and four dimension tables. I can seemingly load any individual table with no problem, but if I load all 6 tables I get a 'General Script Error' in the log with no additional data. Ironically all the tables appear to load, they all show XYZ rows fetched, followed by the general script error. By selectively removing load statements and playing with what fields I'm loading it appears that the problem is loading the key fields. I.e., if I have

FACT1.ID and DIM1.ID and FACT2.OTHER_ID and DIM2.OTHER_ID all in my script it dies.

If I load:

FACT1.ID and DIM1.ID and FACT2.OTHER_ID and DIM2.OTHER_ID as FOOZLE_ID it will load , but now I have FOOZLE_ID instead of OTHER_ID on the DIM2 table which isn't really that great.

Additionally, and I'm not sure if this is relevant, I see in the log that qlik view is making some synthetic keys. 3 different ones in my case, only one of which might actually be considered to be a synthetic key and I don't actually need it - can I disable synthetic keys in some way?

1 Solution

Accepted Solutions
Not applicable
Author

I dont know exactly what the message is but as you are generating synthetic keys its probably that.

Synthetic keys are automatically generated by Qlikview when keys between tables are complex (ie more than one individual field name matches). This comes under the heading of BAD THING as it has all sorts of implications.

You need to study your data model and work out where this is occuring. It may be that you do not need this match on all the elements, but if you do the usual method is to construct a key table and use some method to construct a unique key for the composite (personal favourite = autonumberhash)

Regards,

Gordon

View solution in original post

3 Replies
Not applicable
Author

I dont know exactly what the message is but as you are generating synthetic keys its probably that.

Synthetic keys are automatically generated by Qlikview when keys between tables are complex (ie more than one individual field name matches). This comes under the heading of BAD THING as it has all sorts of implications.

You need to study your data model and work out where this is occuring. It may be that you do not need this match on all the elements, but if you do the usual method is to construct a key table and use some method to construct a unique key for the composite (personal favourite = autonumberhash)

Regards,

Gordon

Not applicable
Author

.... are the field names actually 'FACT1_ID', ' DIM1.ID' etc or are you just qualifying them for clarity? ie does QLikview load them all as 'ID' which will generate a match between your tables.

Not applicable
Author

Hi Gordon,

The Fields and Ids names were just made up for clarity, but the problem was the synthetic keys as you expected. Basically I'm loading the two fact tables and associated dims, all the dims join to the fact through ids as you would expect in a star type data warehouse. The fact tables have a date field instead of a date dimension (for various reasons that aren't very relevant to the issue at hand) and the field name is same on both fact tables, so it was trying to make synthetic keys including the date field and various id fields and was having a hard time.

In this case it is easy enough for me to rename the columns on load (date_field as date_field_fact1....date_field as date_field_fact2) but is there a way to stop qlik view from trying to make snythetic keys at all, and just let me manage what is considered a join in a preferences box somewhere? I guess just renaming things is more or less fine.

Hey qlikview devs, how about added some better error messages when there are problems making synthetic keys? (Like what fields it's having problems with for example.) 😉