Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I have an issue with the "pivot table" visualization. I would like to gray out the entire "B to B" row, but Qlik does not gray out the null values (see image below).
I'm using in the section "Background color expression" :
if(Dimensionality() = 3 and
([CONQUETE.CANAL_CONQUETE_GROUPE] = 'Terrain' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'B to B' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'Mkg SC Offline' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'Hors perimetre' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'N-C' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'Multiconnexion' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'Adresse IP' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'Mkg SC Online'),
'white',
if([CONQUETE.CANAL_CONQUETE_GROUPE] = 'Terrain' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'B to B' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'Mkg SC Offline' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'Hors perimetre' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'N-C' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'Multiconnexion' or
[CONQUETE.CANAL_CONQUETE_GROUPE] = 'Adresse IP' or
([CONQUETE.CANAL_CONQUETE_GROUPE] = 'Mkg SC Online' and isnull([CONQUETE.ABOS_PAYANTS_BRUT])),
LightGray(), black()))
thank you for your help
Try this
if(
Dimensionality() = 3 and
(
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Terrain' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'B to B' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Mkg SC Offline' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Hors perimetre' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'N-C' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Multiconnexion' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Adresse IP' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Mkg SC Online'
),
'white',
if(
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Terrain' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'B to B' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Mkg SC Offline' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Hors perimetre' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'N-C' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Multiconnexion' or
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Adresse IP' or
(
Alt([CONQUETE.CANAL_CONQUETE_GROUPE],'') = 'Mkg SC Online' and
isnull([CONQUETE.ABOS_PAYANTS_BRUT])
)
,
LightGray(),
black()
)
)
it doesn't work.
You need to have a real value within each cell and not NULL because this means the cell itself doesn't exists and therefore no properties could be set/adjusted. That there is a visible cell is caused from the (on-top) rendering-layer.
There are no general ways to replace NULL because it depends on the data-model and the data-set and the object-structures which ways are possible and suitable. You may try simple expression-extensions like:
rangesum(MyExpression, 0)
but often it's necessary to adjust the data-model. Here a good starting point: How to populate a sparsely populated field - Qlik Community - 1470637
Beside this I would simplify the expression in this way:
if(match(Field, 'a', 'b', ...), if(dimensionality() = X; white(), black()))