Tengo problemas para obtener un recuento de filas de resultados basado en una medida que se filtra por otra medida.
Estoy calculando un promedio en una jerarquía de cliente donde el elemento más agregado será la tienda, luego la cadena y, finalmente, el canal. Así que quiero comparar el promedio de la tienda con el promedio de la cadena a la que pertenece la tienda.
Estoy usando esta medida que funciona bien:
210. Frente a la tienda promedio ?
VAR V1 [201. Frente a Avg]
VAR V2 - CALCULATE([201. Enfrentando Promedio], ALL(DIM_CLIENT_VW[DESC_CHAIN]), ALL(DIM_CLIENT_VW[DESC_STORE]))
VAR V3 - CALCULATE([201. Frente a promedio], TODO(DIM_CLIENT_VW[DESC_STORE]))
devolución
IF(HASONEFILTER(DIM_CLIENT_VW[DESC_STORE]),V3,
IF(HASONEFILTER(DIM_CLIENT_VW[DESC_CHAIN]),V2, V1))
Entonces, necesito contar las tiendas que están por encima del promedio y las tiendas por debajo de avg. Para identificarlos, estoy restando el Promedio menos la Tienda Promedio y la creación de una bandera, dependiendo de si el resultado está por encima o por debajo de cero de la siguiente manera:
210. Benchmark por encima/por debajo de la tienda ?
VAR V1 [201. Enfrentando Avg] - [210. Frente a la tienda promedio]
devolución
IF(V1 > 0, 1, IF(V1 < 0, -1, BLANK()))
El resultado está bien, soy capaz de identificar qué tiendas están por encima y cuáles están a continuación.
El problema es cuando intento contar la marca y mostrarla en un objeto Card o usarla para otro cálculo, y creo que es debido a la agregación en la medida original [210. Frente a Avg Store], si no tengo tiendas en el eje, el total está en blanco porque se cumple alguna de las condiciones.
¿Hay alguna manera de obtener el resultado que estoy buscando? He intentado usar una tabla y filtrar la tabla por la bandera, y el número que obtengo está bien, pero no puedo usar el resultado en ningún cálculo y necesito que se sepa el % de las tiendas por debajo de avg y el % por encima de avg.
Espero que puedas ayudarme,
Mijalis