Qlik Community

QlikView Integrations

Discussion Board for collaboration on QlikView Integration.

Announcements
IMPORTANT security patches for GeoAnalytics Server available to download: READ DETAILS
cancel
Showing results for 
Search instead for 
Did you mean: 
GENClik60
Contributor II
Contributor II

Mehrere QVW in einer neuen QVW zusammenfügen / Is there a way in QlikView 12 to merge different QVWs into a new QVW?

Hallo zusammen,

ich bin relativ neu in Qlik und habe eine Frage bzgl. der Zusammenführung verschiedener (fertigen) QVW-Dateien.

Als Beispiel: Drei verschiedene QVW´s sollen in einem neuen View zusammengeführt werden.

Die QVW´s kommen allerdings extern und einige Skript-Codes sind für mich nicht sichtbar. Die erste QVW habe ich mit "Binary" schon im Skript aber die Daten aus den anderen zwei QVW fehlen dann teilweise weil die von der externen Firma nicht freigegeben werden.

Gibt es in QlikView 12 eine Möglichkeit verschiedene QVW´s in einem neuen QVW zusammenzuführen?

 

Vielen Dank im Voraus.

 

Gruß GENClik

4 Replies
Maria_Halley
Support
Support

Translation

 

I'm relatively new to Qlik and have a question about merging different (ready-made) QVW files.

 

As an example: Three different QVWs are to be merged into a new view.

However, the QVW's come externally and some script codes are not visible to me. I already have the first QVW with "Binary" in the script, but some of the data from the other two QVWs are missing because they are not released by the external company.

Is there a way in QlikView 12 to merge different QVWs into a new QVW?

marcus_sommer
MVP & Luminary
MVP & Luminary

Das ist so nicht möglich. Eine qvw kann nur eine andere qvw binary laden. Alle weiteren Daten müssen dann über normale Loads - gezielt - dazu geladen werden. Mit gezielt ist gemeint, dass die Datenmodelle in den jeweiligen qvw's sich sehr wahrscheinlich gegenseitig negativ beeinflussen würden. Insofern ist das Vorhaben, abgesehen von der technischen Seite, konzeptionell zumindest fragwürdig.

Idealerweise gibt es aber für alle enthaltenen Daten entsprechende qvd's, so dass man diese auch in beliebig weiteren Anwendungen laden kann.

- Marcus

That's not possible. A qvw can only load one other qvw binary. All other data must then be loaded - specifically - via normal loads. Targeted means that the data models in the respective qvw's would most likely have a negative impact on each other. In this respect, apart from the technical side, the project is at least conceptually questionable.

Ideally, however, there are corresponding qvd's for all the data contained, so that they can also be loaded into any other application.

 

GENClik60
Contributor II
Contributor II
Author

Hallo Marcus,

danke erstmal für die Antwort.

Der Auftrag ist daher entstanden, weil es Auswertungen gibt die aus zwei verschiedenen Views gezogen werden und manuell zusammengestellt werden. Diese sollen aber automatisiert zu bestimmten Zeiten erstellt werden. Mein Problem ist nach wie vor die Implementierung des zweiten Views, da beide Views extern kommen und einige Daten im Skript versteckt sind.. 

Kann ich also, wenn es beispielsweise in View 1 ein Diagramm gibt, diese als QVD speichern und in meinem View laden? Auch wenn ich zum Beispiel nicht alle eingelesenen QVDs sehen kann?

Wenn ja, könntest du mir diesen Vorgang bitte beschreiben?

 

Gruß GENClik

marcus_sommer
MVP & Luminary
MVP & Luminary

Ja, jedes Oberflächen-Objekt kann in eine Datei exportiert werden. Als Text-File oder Excel geht fast immer, als QVD vermutlich nur die Tabellen-Objekten. Grundsätzlich kann sowas auch über Makros automatisiert werden. Hier hängt es dann von verschiedenen Umständen ab, wie aufwändig das Ganze wird. Insbesondere das Triggern der Makros ist in Server-Umgebungen nicht immer trivial. Falls es bereits für irgendwas ähnliche Export-Logiken existieren oder vielleicht NPrinting im Einsatz, sollte man das schon mal als Basis nutzen.

Wenn nicht, wird es vermutlich deutlich einfacher sein, die Daten selbst aus den QVW's zu extrahieren. Hierzu kann man nach dem binary-load einfach eine weitere Lade + Store Logik implementieren, vielleicht etwas wie das hier:

for i = 0 to nooftables()
   vTable = tablename($(i));
   [QVD_$(vTable)]: noconcatenate load * resident [$(vTable)];
   store [QVD_$(vTable)] into [QVD_$(vTable).qvd] (qvd);
   drop tables [QVD_$(vTable)];
next

Das ist jetzt einfach ungetestet runtergeschrieben und hakelt vielleicht noch hier und da - die Logik selbst geht aber auf jeden Fall.

- Marcus