Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
jbaker15
Regular Visitor

Creación de un Histrograma que cambia en función de los filtros de usuario

Tengo un problema interesante que he pasado más horas de las que me gustaría admitir tratando de averiguar. Tengo el siguiente ejemplo de conjunto de datos:

1) wm_week es el año/semana del punto de datos.

2) jj_sales_director es la categoría de director. Hay 3 de estos.

3) jj_sales_category es un nivel de categoría. Hay 20 categorías diferentes.

4) store_nbr es el número de la tienda.

5) ris es un % hasta 100%.

jbaker15_0-1593099623132.png

He creado un histograma usando un gráfico de columnas apiladas a continuación:

jbaker15_1-1593099891569.png

Estoy tratando de contar las distintas tiendas por RIS promedio en los cubos anteriores, que parece funcionar en lo anterior. El problema es que si filtro a la categoría o director quiero que el cambio el visual anterior para cubo el RIS promedio para esa combinación de filtro específica. RIght ahora simplemente no cambia los recuentos cuando el usuario filtra el panel.

He hecho algunas columnas calculadas a continuación que son probablemente el problema, pero no he podido encontrar una manera de hacerlo:

Promedia el instock y los filtros simplemente almacenar: (Columna calculada)

Promedio de inStock ( InStock)
Tienda VAR1 ' 'Instock L30 Days'[store_nbr]
devolución
CALCULAR (
PROMEDIO ( 'Instock L30 Days'[ris]),
TODO ( 'Instock L30 Days' ),
FILTRO ( 'Instock L30 Days', 'Instock L30 Days'[store_nbr] - store1)
)

Crea los cubos: (Medida)

Range1 - var temp- AVERAGE('Instock L30 Days'[Avg inStock]) return
if(temp<-10,"0-10%",if(AND(temp>10,temp<-20),"10-20%",if(AND(AND(AND(temp>20,temp<-30),"20-30%",if(AND(temp>30,temp<-40),"30-40%",if(AND(temp>40,temp<-50),"40-50%",if(AND(temp>50,temp<-60 ),"50-60%",if(AND(temp>60,temp<-70),"60-70%",if(AND(temp>70 ,temp<-80),"70-80%",if(AND(temp>80,temp<-90),"80-90%",if(AND(temp>90,temp<-92),"90-92%",if(AND(temp>92,temp<-994),"92-94%",if(AND(temp>94,temp<-96),"94-96%",if(AND(temp>96,temp<-98),"96-98%","98-100%")))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Crea la columna que se usará en el objeto visual: (Columna calculada)
Columna : 'Instock L30 Days'[Range1]

A continuación se muestra cómo he colocado los datos en el gráfico de columnas.

jbaker15_2-1593100150155.png

Cualquier ayuda sería apreciada.

3 REPLIES 3
jbaker15
Regular Visitor

Dado que las columnas calculadas no funcionan a través de filtros en tiempo real como sugieres, probé un enfoque diferente, pero todavía no tuve suerte. Esto es increíblemente frustrante porque estoy seguro de que hay una respuesta simple.

Creé una tabla de cubos para dividirla en los grupos que quiero en el histograma:

jbaker15_0-1593636371588.png

Luego creé una medida para poner los datos en las ubicaciones:

Bins á CALCULATE(DISTINCTCOUNT('Instock L30 Days'[store_nbr]),(FILTER('Instock L30 Days',and(average('Instock L30 Days'[ris]) >- min(Buckets[Min]),average('Instock L30 Days'[ris]) <- MAX(Buckets[Max])))))
El problema con este método, es que promedia todo en un solo bucket y no divide las tiendas en cada bucket.
jbaker15_0-1593636780738.png

Lo necesito para promediar cada tienda y luego distinto contarlo en los cubos basados en los filtros que están activos en el momento.
Todavía perdido en éste.

v-alq-msft
Community Support
Community Support

Hola, @jbaker15

Me gustaría sugerirle que modifique la columna calculada como medida. Una medida reflejará la selección de la segmentación de datos a tiempo y la columna se actualiza solo después de cargar y hacer clic en el botón Actualizar, y no se puede interactuar a tiempo con otra interacción visual.

Por favor, intente utilizar las siguientes medidas.

Avg inStock =
VAR store1 =
    SELECTEDVALUE ( 'Instock L30 Days'[store_nbr] )
RETURN
    CALCULATE (
        AVERAGE ( 'Instock L30 Days'[ris] ),
        FILTER (
            ALLSELECTED ( 'Instock L30 Days' ),
            'Instock L30 Days'[store_nbr] = store1
        )
    )

Range1 = var temp= [Avg inStock] return
if(temp<=10,"0-10%",if(AND(temp>10,temp<=20),"10-20%",if(AND(temp>20,temp<=30),"20-30%",if(AND(temp>30,temp<=40),"30-40%",if(AND(temp>40,temp<=50),"40-50%",if(AND(temp>50,temp<=60),"50-60%",if(AND(temp>60,temp<=70),"60-70%",if(AND(temp>70,temp<=80),"70-80%",if(AND(temp>80,temp<=90),"80-90%",if(AND(temp>90,temp<=92),"90-92%",if(AND(temp>92,temp<=94),"92-94%",if(AND(temp>94,temp<=96),"94-96%",if(AND(temp>96,temp<=98),"96-98%","98-100%")))))))))))))

Saludos

Allan

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola, aprecio la repsonse. Cuando cambio Avg inStock a una medida ya no puedo ponerlo como una variable en Range1. Tampoco me permite poner una medida como un eje compartido en un gráfico de columnas apiladas.

Tal vez esto no sea posible. ¿Alguna otra idea?

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors