Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
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.