Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

"-1" added to table name after partial reload

My application is designed in a 3-tier manner: tier 1=data access saving qvds, tier 2=building QVWs from QVDs, tier 3=document.

Everything works well if I do a regular reload. My problem is when I do a Partial Reload. The only table I am partially reloading is Insights. After a partial reload Insights does not get refreshed and I see a new table Insights-1 in the diagram. The auto-created Insights-1 contains refreshed data while Insights does not.

Here's the script I am using to reload it (this script lives in tier 2, reading from the QVD generated in tier 1:

Insights:

replace LOAD Id, date(InsightDate, 'MM/DD/YYYY') as calendar_date, Priority, Issues, Perception, Recommendations, AddressedByClient, time_period_key

FROM

[Insights.qvd]

(qvd);

Everything OK when I perform a regular Reload:

question_ok.jpg

After the reload I insert one more record into the Insights database table, so that I can verify my partial reload will work.

question_3.jpg

After performing a partial reload:

question_final.jpg

Why did this Insights-1 table get created? How do I resolve this?

Thank you so much for your help.

QV version 11.20.12235.0

5 Replies
fernando_tonial
Employee
Employee

Hi,

Remove QUALIFY *; from your script.

Rename fields using "As"

Ex.

Id As [Insight Id],

Best Regards.

Tonial.

Don't Worry, be Qlik.
Not applicable
Author

Fernando,

I forgot to mentioned that QUALIFY *; is removed in the following manner:

if IsPartialReload()=0 then

   QUALIFY *;

if I leave the QUALIFY *; then I still get the Insights-1, but it does not come linked to Calendar.

question_wrongagain.jpg

Thanks but your suggestions did not change my outcome.

fernando_tonial
Employee
Employee

Hi,

Qualify *; don't work with partial reload.

Try this;

Insights:

Replace

LOAD

  Id AS Insights_Id,

  date(InsightDate, 'MM/DD/YYYY') as Insights_calendar_date,

  Priority AS Insights_Priority,

  Issues AS Insights_Issues,

  Perception AS Insights_Perception,

  Recommendations AS Insights_Recommendations,

  AddressedByClient AS Insights_AddressedByClient,

  time_period_key

FROM

[Insights.qvd]

(qvd);

Best Regards.

Tonial.

Don't Worry, be Qlik.
Not applicable
Author

Hi Fernando,

As I said before, qualify * is NOT used when a partial reload is called because of the if IsPartialReload()=0 statement.

I did what you suggested and I still have 2 tables after the partial reload:

question_wrongagain2.jpg

It appears it has something to do with the fields being qualified in the original table, and appearing unqualified in the Insights-1 table which is auto-generated for some reason.

Thanks a lot for trying to help me!

Gus

fernando_tonial
Employee
Employee

Hi,

put your script here, i can help you more. But, you should do both loads without the qualify

See this.

Insights:

Replace

LOAD

  Id AS Insights_Id,

  date(InsightDate, 'MM/DD/YYYY') as Insights_calendar_date,

  Priority AS Insights_Priority,

  Issues AS Insights_Issues,

  Perception AS Insights_Perception,

  Recommendations AS Insights_Recommendations,

  AddressedByClient AS Insights_AddressedByClient,

  time_period_key

FROM

[Insights.qvd]

(qvd);

if IsPartialReload()=0 Then

Insights:

LOAD

  Id AS Insights_Id,

  date(InsightDate, 'MM/DD/YYYY') as Insights_calendar_date,

  Priority AS Insights_Priority,

  Issues AS Insights_Issues,

  Perception AS Insights_Perception,

  Recommendations AS Insights_Recommendations,

  AddressedByClient AS Insights_AddressedByClient,

  time_period_key

FROM

[Insights.qvd]

(qvd);

EndIf


Best Regards.

Tonial.

Don't Worry, be Qlik.