Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Cleaning Up Data and Adding Catagories

Good afternoon everyone,

My company is working with an application tied to our database that is powered by QlikView©. The developer of the application referred us to this website to access the resources here. The application is not yet supported by the developer and I believe it may still be in the beta testing phase.

In Excel, I can slice and dice information relatively easy. It would be much faster to build expressions in the application we have because exporting into Excel is time consuming and I have to do it multiple times. The QlikView update is minimal in comparison.

To make a long story short, I have been working for days trying to find an expression that will categorize information in the application. It is all based on QlikView expressions, so I thought I would ask my question here.

My field contains data formatted like: ab, ab/cd, cd/ab, and ab/hijkl

My goal is to create categories (100 for ab, 35 for ab/cd & ab/hijkl, 18 for cd/ab) and summarize the data in the numeric categories.This would replace and group the string text ab, ab/cd, etc. In Excel, I used this the replace/find/left/right functions to produce the results I am looking for (it would find the characters position and replace it). Does anyone know how I could phrase my expression in QlikView to give me a similar or better result?

Thank you!

1 Solution

Accepted Solutions
swuehl
MVP
MVP

If you can't change the script, you can use calculated dimensions in your chart like

=Pick(Match( YourField, 'ab','ab/cd','ab/hijkl','cd/ab')

100,

35,

35,

18

)

Or using other string functions / if() statement combinations. You could for example use Wildmatch() with wildcards to shorten above a bit

=Pick( WildMatch( YourField, 'ab','ab/*','cd/ab')

100,

35,

18

)

View solution in original post

7 Replies
sunny_talwar

Do you have sample you can share with your desired output

swuehl
MVP
MVP

You could use a MAPPING approach:

Data Cleansing

MAP:

MAPPING LOAD * INLINE [

F1,F2

ab,100

ab/cd, 35

ab/hijkl, 35

cd/ab,18

]:

LOAD

     YourField,

     ApplyMap('MAP', YourField) as YourGroup,

     ...

FROM ...;

Anonymous
Not applicable
Author

Something like this:

 

PercentageSalesMargin7.5% of Sales Margin
100%$93,717.70 $41,790.94 $3,134.32
80%$43,285.34 $10,229.29 $767.20
20%$1,477.64 $332.25 $24.92

Thank you!

Anonymous
Not applicable
Author

Thank you for responding. The application is limited - I can only add tables and charts. I have to add expressions to the tables and charts to summarize the data. I can group, but only within a table or chart dimension. Scripting and programming are restricted.

sunny_talwar

This is what you need, right? Can you share the data you used to reach this output?

Preparing examples for Upload - Reduction and Data Scrambling

Anonymous
Not applicable
Author

Good morning, the table I sent you is the end result from what I did in Excel. The developer has access to the reduction and data scrambling restricted. I have uploaded a draft of the QVR document I have been working on. I can share it with you if you like, I believe it will be the report only and not the actual data though. Please add me as a connection and I will share the file with you.

Thank you!

swuehl
MVP
MVP

If you can't change the script, you can use calculated dimensions in your chart like

=Pick(Match( YourField, 'ab','ab/cd','ab/hijkl','cd/ab')

100,

35,

35,

18

)

Or using other string functions / if() statement combinations. You could for example use Wildmatch() with wildcards to shorten above a bit

=Pick( WildMatch( YourField, 'ab','ab/*','cd/ab')

100,

35,

18

)