Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Not applicable

How do I reference two different states within the same expression?

I work for an eCommerce company and we are trying to clean up our product categories by seeing how many skus overlap between them.

To do this, I created a table with: (inherited state)

CategoryID

CategoryName

COUNT(DISTINCT(SkuID) as Sku Count

Then an associated categories table: (alternate state)

CategoryName

Count(DISTINCT{<SkuID = p({$} SkuID)>} SkuID) as Skus In Common

My next step is trying to see the proportion of Skus in Common compared to the original Sku Count from the first table, but I can't manage to make it work.

Any suggestions?

My alternate stats is called {AssociatedCategories}.

7 Replies
Arjunarao
Honored Contributor II

Re: How do I reference two different states within the same expression?

Not applicable

Re: How do I reference two different states within the same expression?

Hi Andrea,

The result of an Alternate state can be reffered to , inside a Set Expression,

For Eg. : here in your case(Not sure what your calculation is !)

     Sum({[AssociatedCategories]<[Skus In Common]>}[SumField])


Hope it helps!

Cheers !

stigchel
Honored Contributor

Re: How do I reference two different states within the same expression?

Just as you reference the inherited state by using the $ sign, you can reference the alternate state by its name.

You can use this for sets as well as individual fields within the same set expression e.g.

Sum({AltSt1 <Region = $:: Region>} Sales)

Which means, take all selections from the Alternate state AltSt1 but take the selections for Region from the inherited state


Not applicable

Re: How do I reference two different states within the same expression?

I feel like this is the correct answer, but it's not working and I'm not sure why.

Keep in mind that I want to take the total count of skus in common, and divide it by the total number of skus possible.

So on the left hand side I have my inherited state - which shows the number of unique skus by category - and on the left I have another chart in an alternate state showing the number of skus in common with the left hand selection - and I want to get a proportion of the number of skus in common compared to the original sku count.

The proportion right now is the one you gave me - any suggestions?

Essentially I need to take Skus in Common (altstate) / Sku Count (inherited)

Example.JPG

This is the expression I used for the above result.

[Skus in Common]/COUNT({AssociatedCategories <SkuID= $:Smiley FrustratedkuID>}DISTINCT SkuID)

stigchel
Honored Contributor

Re: How do I reference two different states within the same expression?

I'm not sure what is what in your above example and I'm not familiar with your data. However I think the problem is not with the states but with your dimensions and what you are dividing by. Can you try to divide

COUNT({AssociatedCategories <SkuID= $:Smiley FrustratedkuID>} TOTAL DISTINCT SkuID)

Not applicable

Re: How do I reference two different states within the same expression?

Hey!

So this is definitely working better, only it is giving me the total distinct skuID overall, and not the currently selected category of SkuID's (from the inherited state).

stigchel
Honored Contributor

Re: How do I reference two different states within the same expression?

What  do you mean by " category of SkuID's", are there any selections in SkuID in the inherited state? Or do you have a category selected?

In the set expression you only reference SkuID in inherited state, only actual selections in this field will be reflected, so e.g. not possible values implied by another selction

Community Browser