Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

How to create a expresion with a calculated dimension? (¿Cómo realizar una expresion con una dimension calculada?)

Hello everyone! I doubt there has been, and is as follows:

1) I am making a pivot table calculated with the following dimensions:

=if(Match(TECNOLOGÍA,'4G') and Match(proveedor,'Ericsson') and Match([BandaInf cos3G-4G],'N') and Match([cosite 3G-4G],'sí'),'cos1800(4G)-Ericsson',

If(Match(TECNOLOGÍA,'4G') and Match(proveedor,'Huawei') and Match([BandaInf cos3G-4G],'N') and Match([cosite 3G-4G],'sí'),'cos1800(4G)-Huawei'))

2) so far so good. Now use the following formula to calculate the percentage associated with each vendor (Ericsson and Huawei):

(sum(VOL_DL)+sum(VOL_UL))/(sum(TOTAL VOL_DL)+sum(TOTAL VOL_UL))

3) And the result I get is:

As you can see, there is a third field that is undefined (not blank) which does not interest me. To this end, the expression I would include in TOTAL <> the calculated dimension, because I think that would solve the problem, just not QlikView will not let me write the expression

TOTAL<if(Match(TECNOLOGÍA,'4G') and Match(proveedor,'Ericsson') and Match([BandaInf cos3G-4G],'N') and Match([cosite 3G-4G],'sí'),'cos1800(4G)-Ericsson',

If(Match(TECNOLOGÍA,'4G') and Match(proveedor,'Huawei') and Match([BandaInf cos3G-4G],'N') and Match([cosite 3G-4G],'sí'),'cos1800(4G)-Huawei'))>

Does anyone know how you fix it?

Thank you very much to all !!

Translated with Google Translate - Qlik Community Administrative Team

Hola a todos! Me ha surgido una duda, y es la siguiente:

1) Estoy haciendo una tabla pivotante con la siguiente dimensión calculada:

=if(Match(TECNOLOGÍA,'4G') and Match(proveedor,'Ericsson') and Match([BandaInf cos3G-4G],'N') and Match([cosite 3G-4G],'sí'),'cos1800(4G)-Ericsson',

If(Match(TECNOLOGÍA,'4G') and Match(proveedor,'Huawei') and Match([BandaInf cos3G-4G],'N') and Match([cosite 3G-4G],'sí'),'cos1800(4G)-Huawei'))

2) hasta aquí todo bien. Ahora uso la siguiente expresión para calcular el porcentaje asociado a cada vendedor (Ericsson y Huawei):

(sum(VOL_DL)+sum(VOL_UL))/(sum(TOTAL VOL_DL)+sum(TOTAL VOL_UL))

3) Y el resultado que obtengo es el siguiente:

Como se puede ver, hay un tercer campo que esta indefinido (no en blanco) el cual no me interesa. Para ello, en la expresión me gustaría incluir en TOTAL<> la dimension calculada, porque creo que así se solucionaría el problema, solo que no QlikView no me deja escribir la expresión

TOTAL<if(Match(TECNOLOGÍA,'4G') and Match(proveedor,'Ericsson') and Match([BandaInf cos3G-4G],'N') and Match([cosite 3G-4G],'sí'),'cos1800(4G)-Ericsson',

If(Match(TECNOLOGÍA,'4G') and Match(proveedor,'Huawei') and Match([BandaInf cos3G-4G],'N') and Match([cosite 3G-4G],'sí'),'cos1800(4G)-Huawei'))>

¿Alguien sabe cómo se podría solucionar esto?

Muchas gracias a todos!!

8 Replies
Gysbert_Wassenaar

Enable the option Suppress When Value Is Null of your calculated dimension.

comm174994.png


talk is cheap, supply exceeds demand
Not applicable
Author

I have already done it, but this is what happens:

As you can see, this is not the percentage over the 100%, because it is still being considered the blank camp.

That's the reason I wanted to use the calculated dimension within the expresion...

jonathandienst
Partner - Champion III
Partner - Champion III

Just add an else clause to your calc dimension:

=if(Match(TECNOLOGÍA,'4G') and Match(proveedor,'Ericsson') and Match([BandaInf cos3G-4G],'N') and Match([cosite 3G-4G],'sí'),'cos1800(4G)-Ericsson',

If(Match(TECNOLOGÍA,'4G') and Match(proveedor,'Huawei') and Match([BandaInf cos3G-4G],'N') and Match([cosite 3G-4G],'sí'),'cos1800(4G)-Huawei', 'Other'))

Logic will get you from a to b. Imagination will take you everywhere. - A Einstein
Not applicable
Author

Hi, still the same result:

Now I have another Field ('Other'). I want to have only two Fileds, cos1800(4G)-Ericsson and cos1800(4G)-Huawei, and both must sum the 100%.

Anonymous
Not applicable
Author

you need to write your condition in percentage expression ((sum(VOL_DL)+sum(VOL_UL))/(sum(TOTAL VOL_DL)+sum(TOTAL VOL_UL)))as well. in place of total use above condition which you are using to get vendor

Thanks

BKC

Anonymous
Not applicable
Author

see the attached example .

you will get the idea.

Not applicable
Author

Thanks, but I dont know how to do that expression...

I am using this instead:

(sum(VOL_DL)+sum(VOL_UL))/

(sum(TOTAL{<proveedor={'Ericsson'},[BandaInf cos3G-4G]={'N'},[cosite 3G-4G]={'sí'}>} VOL_DL)

+sum(TOTAL{<proveedor={'Ericsson'},[BandaInf cos3G-4G]={'N'},[cosite 3G-4G]={'sí'}>} VOL_UL))

Now the problem is that with this expression I only have the right result for one Vendor (Ericsson). If I add the condition to the expression as follows:

       <proveedor={'Ericsson','Huawei'}

I get none of the results I want, because it is calculating the percentage of the two vendors, and I want to calculate the percentage within each vendor.

Not applicable
Author

Thaks! I have the PE of QV and I cannot open the file...