Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
siddharth_kulka
Creator II
Creator II

Multiple binary loads in 1 qvw

Scenario:

We have 3 major applications(around 500 MB each) and the user wants to merge all 3 at the backend(around 1.5 G). No UI is required. This is just for easy of testing, instead of opening 3 separate apps for production support whenever an issue arrives

-->Qlikview just allows one binary load in d script.

-->Any tricks on merging all 3, using binary loads?

-->I don't want to merge their scripts and load, as it wud take use a lot of time.

Any thoughts/inputs?

Thanks,

Siddharth

1 Solution

Accepted Solutions
rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

Siddharth,

I don't know of any way around the problem except storing as QVDs. Iit shouldn't take very long to do the store. You can do it with a script loop like this:

BINARY myqvw.qvw;

FOR i = 0 to NoOfTables()-1

  LET vTableName = TableName($(i));

  LET vOutfile = '$(vTableName).qvd';

  STORE [$(vTableName)] INTO [$(vOutfile)] (qvd);

NEXT i

View solution in original post

13 Replies
IAMDV
Luminary Alumni
Luminary Alumni

Siddharth - Have you considered loading from QVDs? As we can use only one binary load in the QV document. You can use Include function to extract script and you can load from QVDs.

I hope others might have better solution.

Cheers - DV

siddharth_kulka
Creator II
Creator II
Author

But that would mean...

Storing all tables from all 3 apps as QVD's..

And then loading those QVD's (optimized)

Storing would take a lot of time.

Not applicable

Hi Sid,

There  is only one trick for it .  Do the Binary all the Applicaiton one by one.

Suppose you have 3 applicaiton name as A,B,C

Now,in A take the binary of B and name that applicaiton as A1

After that in Applicaiton C take the binary of A1.

And then you will all the three applicaiton in the One application.

Regards,

Nitin Jain

Not applicable

as told by nitin you can do as:

take binary load of one qvw in another file and name it as A.

Now take binary load of A.

rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

Nitlin,

I don't understand your proposal. If A binary loads B, it will only have the contents of B. Unless you repeat A's script, which the poster was trying to avoid.

-Rob

rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

Siddharth,

I don't know of any way around the problem except storing as QVDs. Iit shouldn't take very long to do the store. You can do it with a script loop like this:

BINARY myqvw.qvw;

FOR i = 0 to NoOfTables()-1

  LET vTableName = TableName($(i));

  LET vOutfile = '$(vTableName).qvd';

  STORE [$(vTableName)] INTO [$(vOutfile)] (qvd);

NEXT i

Not applicable

Hi Rob,

In the Application A take the binary of the Application B. In this coding part of Applicaiton A will also be available to it.Now name it as A1

Hence the Applicaiton A1 contains the :- A(Coding Part) + B (Binary Part).

Regards,

Nitin Jain

IAMDV
Luminary Alumni
Luminary Alumni

I agree with Rob. QVD is the way to go. I think QVD also helps for future requirements and it is worth the time to create logical grouping of data.

siddharth_kulka
Creator II
Creator II
Author


Thanks every1 for your inputs.

Rob, I agree. Storing QVD's in a loop is the best workaround. Thankyou!