Rango como medida y suma de ciertos rangos

Un usuario Pregunto ✅

craasp

HOLA,

Intenté mucho … espero que alguien pueda ayudarme, resp. explicame si mis medidas no son las correctas..

Aquí está mi problema:

Tengo una tabla con muchos elementos y atributos… digamos que se ve así:

Tabla: TablaXYZ

País

Año

AtributoA

AtributoB

AtributoC

Valor

China

2007

A B C

B

X

58

China

2007

A B C

B

X

720

China

2007

A B C

a

X

531570

China

2007

EFG

a

X

37602

China

2007

EFG

a

X

99741

China

2007

EFG

B

X

5465

China

2008

A B C

B

X

453272

China

2008

A B C

B

X

10528

China

2008

A B C

a

X

34534

China

2008

EFG

a

y

2941790

China

2008

EFG

a

X

2793761

China

2008

EFG

B

X

3183596

China

2009

A B C

B

X

2314133

China

2009

A B C

B

X

445879

China

2009

A B C

a

X

145952

China

2009

EFG

a

X

1339435

China

2009

EFG

a

X

141364

China

2009

EFG

B

X

1002798

EE.UU

2007

A B C

B

X

317921

EE.UU

2007

A B C

B

X

125046

EE.UU

2007

A B C

a

X

32689

EE.UU

2007

EFG

a

X

128757

EE.UU

2007

EFG

a

X

139812

EE.UU

2007

EFG

B

X

51770

EE.UU

2008

A B C

B

X

90683

EE.UU

2008

A B C

B

X

1583620

EE.UU

2008

A B C

a

X

1441

EE.UU

2008

EFG

a

X

4000

EE.UU

2008

EFG

a

X

974673

EE.UU

2008

EFG

B

X

20973

EE.UU

2009

A B C

B

X

440633

EE.UU

2009

A B C

B

X

1073140

EE.UU

2009

A B C

a

X

2000

EE.UU

2009

EFG

a

X

66162

EE.UU

2009

EFG

a

X

12929

EE.UU

2009

EFG

B

X

352986

Rusia

2007

A B C

B

y

1603737

Rusia

2007

A B C

B

X

339277

Rusia

2007

A B C

a

X

1389284

Rusia

2007

EFG

a

X

610817

Rusia

2007

EFG

a

X

1655642

Rusia

2007

EFG

B

X

704668

Rusia

2008

A B C

B

X

2479340

Rusia

2008

A B C

B

X

216863

Rusia

2008

A B C

a

X

32020

Rusia

2008

EFG

a

X

89785

Rusia

2008

EFG

a

X

99424

Rusia

2008

EFG

B

X

62100

Rusia

2009

A B C

B

X

66055

Rusia

2009

A B C

B

X

428085

Rusia

2009

A B C

a

X

527690

Rusia

2009

EFG

a

X

80526

Rusia

2009

EFG

a

X

89918

Rusia

2009

EFG

B

X

363434

(simplificado, más atributos y países en el archivo original)

Lo que quiero y lo que funciona:

1. Clasificación País dentro del Año de acuerdo con la suma del Valor con una segmentación que filtra los Atributos A y B. El Atributo C se usa para excluir ciertos valores:

Así es como lo he hecho:

Clasificación País = IF(HASONEVALUE(TableXYZ[Country]); RANGOX ( TODO(TablaXYZ[Country]); [Selected Values]; ; DESC; DENSO );BLANCO())

con

[Selected Values]=CALCULAR(SUMA(TablaXYZ[Value]);TablaXYZ[AttributeC]<>«y»;TODO EXCEPTO(TablaXYZ;TablaXYZ[Country];TablaXYZ[AttributeA];TablaXYZ[AttributeB];TablaXYZ[Year]))

Las clasificaciones de los países dentro del año para la combinación de Atributo (A y B) seleccionada funcionan dentro de una matriz (País-Valor) y para gráficos de columnas apiladas (País es una serie de columnas).

2. Mostrar solo ciertos rangos trabaja con una medida dentro de los filtros de nivel visual:

Mostrar ciertos rangos = IF([Rank Country]>[Selected TopX];BLANCO();[Rank Country]) (el filtro está configurado como «no en blanco»)

Con [Selected TopX] siendo una medida que devuelve el valor seleccionado de una columna «TopX» de una segunda tabla llamada «Ranking» a través de una segmentación.

TopX seleccionado = MAX (Clasificación[TopX])

Lo que no funciona y devuelve un resultado falso es (AQUÍ ESTÁ LA PREGUNTA):

¡¡No puedo resumir los rangos seleccionados!! Por ejemplo si quiero mostrar en una Tarjeta la suma de los Rangos seleccionados (por ejemplo top 2) de cada año. Intenté con lo siguiente, pero no devuelve la suma correcta:

Suma de TopX seleccionado = CALCULAR( SUMA( TablaXYZ[Value] ); FILTRO(TablaXYZ; [Rank Country]<=[Selected TopX] ) )

Probé también varias otras cosas como TOPN, experimenté con GROUPBY, leí sobre las relaciones internas y externas de los filtros y demás… pero finalmente estoy bastante indefenso… :((

Creo que es un desafío, ya que Rank Country debe ser una medida y no una columna debido a las selecciones/combinaciones/comportamiento dinámico de la segmentación.

Traté de recrear este problema con una tabla simple como la anterior para cargar un ejemplo, pero funciona con esas tablas. ¿Podría ser un problema de capacidad de procesamiento restringida?

Espero haberme explicado lo suficiente y que haya alguien a quien le guste ayudarme!!

¡¡Atentamente!!

Hola @craasp,

>>Traté de recrear este problema con una tabla simple como la de arriba para cargar un ejemplo, pero funciona con esas tablas. ¿Podría ser un problema de capacidad de procesamiento restringida?

¿Quería usar una medida para calcular el valor total, como la característica total de la columna de matriz?

Captura.PNG

Si este es un caso, puede consultar la siguiente fórmula:

Sum of Selected TopX = 
CALCULATE( SUM( TableXYZ[Value] ), FILTER(ALLSELECTED(TableXYZ), [Rank Country]<=[Selected TopX]
	&&IF(SUM(TableXYZ[Value])<>SUMX(ALLSELECTED(TableXYZ),[Value]),
		[Year]=MAX([Year]),
		TRUE())
		))

Agregue un filtro de condición en la columna del año (se desactivará en la fila total).

Saludos,

Xiaoxin-sheng

Deja un comentario

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