Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
celkaenel
Contributor III
Contributor III

Comment lister toutes les sources de donnée des Dashboard Qlik View

Bonjour,

Dans le cadre de mon travail, on m’a demandé de lister toutes les sources de donnée des Dashboard Qlik View.

Je voulais donc savoir s’il y a un moyen de créer un rapport Qlik qui le ferrais ? Je gagnerais du temps à la place d’éditer toute les Dashboard

Merci

1 Solution

Accepted Solutions
DavidDocquoyBaudelet
Contributor III
Contributor III

Hello, 

Je ne sais pas si ca marche pareil en Qlik View, mais dans toutes mes appli QLIK Sense, j'ai inséré ce bout de code en fin de script, et ca me permet de lister par application les tables et les champs utilisés.

Ca fait l'inventaire à chaque Refresh de l'application.

Si ca peux aider 😉

Let vDocumentTitle = DocumentTitle();
Let vNoOTable = NoOfTables();

For vTableNo = 0 to vNoOTable-1

	Let vTableName = TableName(vTableNo);
    Let vNoOFields = NoOfFields('$(vTableName)');
    Let vTotalRows = NoOfRows('$(vTableName)');

	Table_Data:
    Load
    	'$(vDocumentTitle)' as ApplicationName,
        '$(vTableName)' 	as TableName,
        '$(vNoOFields)'		as NumberOfField,
		'$(vTotalRows)'		as TotalRows
    autogenerate 1;

	for vFieldNo = 1 to vNoOFields
    	Let vFieldName = FieldName(vFieldNo,'$(vTableName)');
        
    	Table_fields:
        Load
        	'$(vDocumentTitle)' as ApplicationName,
        	'$(vTableName)' 	as TableName,
            '$(vFieldName)'		as FieldName
        autogenerate 1;
    
    next vFieldNo

Next vTableNo

store Table_fields into [lib://10_Shared/QVD/SYSTEM/Table_fields_$(vDocumentTitle).qvd];

store Table_Data into [lib://10_Shared/QVD/SYSTEM/Table_Data_$(vDocumentTitle).qvd];

Let vDocumentTitle = null();
Let vNoOTable = null();
Let vTableNo = Null();
Let vTableName = null();
Let vNoOFields = null();
Let vTotalRows = null();
let vFieldNo = null();
Let vFieldName = null();

drop table Table_fields;
drop table Table_Data;

 

View solution in original post

3 Replies
Taoufiq_Zarra

@celkaenel 

Bonjour,

je pense que ça sera intéressant de faire une boucle pour parcourir l'ensemble des fichier qlik

et puis à l'interieur de la boucle un script comme ça :

let vtables = NoOfTables();

for i=0 to $(vtables)-1

let vTable = TableName($(i));

store $(vTable) into $(vTable).csv (txt,delimiter is ',');

NEXT

 

pour exporter le data model dans un fichier csv

essayes d'utiliser cette boucle pour un fichier qlik, si ça marche comme tu veux tu généralise par une boucle sur l'ensemble des fichier qlik

 

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
DavidDocquoyBaudelet
Contributor III
Contributor III

Hello, 

Je ne sais pas si ca marche pareil en Qlik View, mais dans toutes mes appli QLIK Sense, j'ai inséré ce bout de code en fin de script, et ca me permet de lister par application les tables et les champs utilisés.

Ca fait l'inventaire à chaque Refresh de l'application.

Si ca peux aider 😉

Let vDocumentTitle = DocumentTitle();
Let vNoOTable = NoOfTables();

For vTableNo = 0 to vNoOTable-1

	Let vTableName = TableName(vTableNo);
    Let vNoOFields = NoOfFields('$(vTableName)');
    Let vTotalRows = NoOfRows('$(vTableName)');

	Table_Data:
    Load
    	'$(vDocumentTitle)' as ApplicationName,
        '$(vTableName)' 	as TableName,
        '$(vNoOFields)'		as NumberOfField,
		'$(vTotalRows)'		as TotalRows
    autogenerate 1;

	for vFieldNo = 1 to vNoOFields
    	Let vFieldName = FieldName(vFieldNo,'$(vTableName)');
        
    	Table_fields:
        Load
        	'$(vDocumentTitle)' as ApplicationName,
        	'$(vTableName)' 	as TableName,
            '$(vFieldName)'		as FieldName
        autogenerate 1;
    
    next vFieldNo

Next vTableNo

store Table_fields into [lib://10_Shared/QVD/SYSTEM/Table_fields_$(vDocumentTitle).qvd];

store Table_Data into [lib://10_Shared/QVD/SYSTEM/Table_Data_$(vDocumentTitle).qvd];

Let vDocumentTitle = null();
Let vNoOTable = null();
Let vTableNo = Null();
Let vTableName = null();
Let vNoOFields = null();
Let vTotalRows = null();
let vFieldNo = null();
Let vFieldName = null();

drop table Table_fields;
drop table Table_Data;

 

dmap_jacky
Contributor III
Contributor III

Merci pour ce code très pratique