Qlik Community

Ask a Question

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
Join us for a live Q&A! September 21, 10 AM ET - Onboarding Fast in Qlik Sense SaaS! REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
Tyler_Waterfall
Employee
Employee

Method for parsing expressions or linking field(s) with expressions that include them

Hello All,

I am looking for a way to link QVW Field names with all expressions (and variables, labels, etc) that contain the field name.  Though there might be ways to accomplish this in the load script, I am looking for some form of Set Analysis to perform this in the UI.

I have a data model which has a table listing all fields ((QVWFieldName) within a set of QVWs.  That table is linked through various other tables to a table containing Expression_Definition (which links to its corresponding sheet object).

Ideally I'd like to create a chart that lists the QVWFieldName (dimension) and a list of all the expressions, chart objects, labels, and variables where the text of the field name is contained.  However, even just having a table with QVWFieldName | Count of Expressions where FieldName is found | Count of Variables...., etc. would be awesome!

Any ideas would be appreciated!

Thanks,

Tyler

Attached is a simplified data model (app) which illustrates what I am trying to accomplish (and failing!).

datamodeldiagram.png

1 Solution

Accepted Solutions
Henric_Cronström

You can "parse" the expression using the index function: Index(Expression_Definition,FieldName).

But first you need to change your data model to something similar to the picture below. When you have done that, you can create the bridge table between Expressions and Fields using the Index function in a where clause.

HICData model.png

View solution in original post

2 Replies
Henric_Cronström

You can "parse" the expression using the index function: Index(Expression_Definition,FieldName).

But first you need to change your data model to something similar to the picture below. When you have done that, you can create the bridge table between Expressions and Fields using the Index function in a where clause.

HICData model.png

View solution in original post

Tyler_Waterfall
Employee
Employee
Author

Thank you Henric! The index(...) function works well, even in the current data model. However, I have noticed that this function (at least in the current data model) is quite expensive, ramping up memory and taking some time to calculate.

The data model is more involved than the representation I sent, meaning that any changes would affect several other components of the application.

Thanks again for sharing this well-thought through and 'meaty' response!

Tyler