Métrica para usar en un gráfico de lista (¿tabla?).

Un usuario Pregunto ✅

bolabuga

Hola, tengo la tabla de muestra en la imagen.

SAMPLETABLE.PNG

Hice la siguiente métrica para usar en un gráfico de barras agrupadas:

INDICATOR 2016 % = 
	VAR MONEYTYPE2015 = CALCULATE(SUM('SAMPLE'[MONEY]);FILTER('SAMPLE';'SAMPLE'[TYPE] <> 2 && 'SAMPLE'[YEAR]=2015))
	+ 
	CALCULATE(SUM('SAMPLE'[MONEY]);FILTER('SAMPLE';'SAMPLE'[TYPE] <> 0 && 'SAMPLE'[YEAR]=2015)) 
	VAR MONEYTYPE2016 = CALCULATE(SUM('SAMPLE'[MONEY]);FILTER('SAMPLE';'SAMPLE'[TYPE] <> 2 && 'SAMPLE'[YEAR]=2016))
	+ 
	CALCULATE(SUM('SAMPLE'[MONEY]);FILTER('SAMPLE';'SAMPLE'[TYPE] <> 0 && 'SAMPLE'[YEAR]=2016)) 
	RETURN
	DIVIDE(MONEYTYPE2016;MONEYTYPE2015)-1

1.PNG

Tuve que hacer otras 2 métricas para montar una lista que muestre los valores resumidos usados ​​en los cálculos en el «indicador 2016%»

MONEY TYPE 2015 = CALCULATE(SUM('SAMPLE'[MONEY]);FILTER('SAMPLE';'SAMPLE'[TYPE] <> 2 && 'SAMPLE'[YEAR]=2015)) + CALCULATE(SUM('SAMPLE'[MONEY]);FILTER('SAMPLE';'SAMPLE'[TYPE] <> 0 && 'SAMPLE'[YEAR]=2015))
MONEY TYPE 2016 = CALCULATE(SUM('SAMPLE'[MONEY]);FILTER('SAMPLE';'SAMPLE'[TYPE] <> 2 && 'SAMPLE'[YEAR]=2016)) + CALCULATE(SUM('SAMPLE'[MONEY]);FILTER('SAMPLE';'SAMPLE'[TYPE] <> 0 && 'SAMPLE'[YEAR]=2016))

2.PNG

Mi duda es que creo que hay una mejor manera de montar la lista en la captura de pantalla, sin tener que hacer las 2 métricas más nuevas (tipo de dinero 2015 e tipo de dinero 2016). Intenté usar «resumecolumns», pero no entiendo cómo hacer que funcione.

Luego, la pregunta: ¿Cómo hacer que este escenario funcione con menos métricas?

En respuesta a bolabuga

@bolabuga

En su escenario, también tiene una columna de cliente en su tabla, también debe agregar «Table[Client]= ANTES (Tabla[Client]) «en su filtro.

Previous Year Value = CALCULATE(SUM(Table[Value]),FILTER(Table,Table[Year]=EARLIER(Table[Year])-1 && Table[Month]=EARLIER(Table[Month]) && Table[Client]=EARLIER(Table[Client])))

Como necesita hacer esta comparación en una matriz, generará columnas dinámicamente y siempre se agregarán en la celda de Valores, no puedo encontrar una mejor manera usando una columna de «datos del año anterior».

Saludos,

Simon Hou

@bolabuga

Según su tabla de origen, es mejor usar una matriz en lugar de una tabla visual para representar los datos.

4.PNG6.PNG

En su escenario, su cálculo debe usar el cálculo del año 2015 dividido por el cálculo del año 2016. Podemos agregar una columna en su tabla que devuelva datos del año anterior.

Previous Year Value = CALCULATE(SUM(Table3[Value]),FILTER(Table3,Table3[Year]=EARLIER(Table3[Year])-1 && Table3[Month]=EARLIER(Table3[Month])))

7.PNG

8.PNG

Luego, podemos crear una medida de «Año actual / Año anterior» y agregarla a la matriz.

Current / Previous = IF(CALCULATE(SUM(Table3[Previous Year Value]))=BLANK(),0,CALCULATE(SUM(Table3[Value]))/CALCULATE(SUM(Table3[Previous Year Value])))

9.PNG

Saludos,

bolabuga

En respuesta a v-sihou-msft

simon hou-msft gracias por intentar ayudar :).

La idea parece muy buena, pero no funciona porque la columna calculada repite la suma para cada cliente cada mes.

mostrando los datos de muestra.

CLIENT	MONTH	YEAR	MONEY	TYPE
3	1	2015	50	0
7	1	2015	97	1
5	1	2015	25	2
3	1	2016	337	0
7	1	2016	277	1
5	1	2016	555	2
3	2	2015	150	0
7	2	2015	137	1
5	2	2015	110	2
3	2	2016	127	0
7	2	2016	156	1
5	2	2016	322	2
3	3	2015	120	0
7	3	2015	667	1
5	3	2015	160	2
3	3	2016	44	0
7	3	2016	145	1
5	3	2016	80	2

El resultado que muestra los resultados replicados en la columna calculada.

ccolumn.PNG

ccolumn2.PNG

Debería tener una forma de hacer esto sin repetir la suma para cada cliente diferente en la columna calculada.

En respuesta a bolabuga

@bolabuga

En su escenario, también tiene una columna de cliente en su tabla, también debe agregar «Table[Client]= ANTES (Tabla[Client]) «en su filtro.

Previous Year Value = CALCULATE(SUM(Table[Value]),FILTER(Table,Table[Year]=EARLIER(Table[Year])-1 && Table[Month]=EARLIER(Table[Month]) && Table[Client]=EARLIER(Table[Client])))

Como necesita hacer esta comparación en una matriz, generará columnas dinámicamente y siempre se agregarán en la celda de Valores, no puedo encontrar una mejor manera usando una columna de «datos del año anterior».

Saludos,

Simon Hou

bolabuga

En respuesta a v-sihou-msft

Trabajó Simon_Hou-MSFT, realmente gracias, es una manera mucho mejor de hacerlo, porque puedo usar solo una métrica en todos los años. Realmente genial. gracias de nuevo Smiley jajaja

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *