Clasificación de carteras basadas en criterios

Mi tabla actual se ve así

Empresa —– año —- tamaño —– Intercambio

A ———– 2000 —– 80 ——- A

A ———– 2001 —– 85 ——- A

B ———– 2002 —— 90 —— C

Quiero asignar las empresas en dos categorías "Grande" y "Pequeño".

Para un año en particular, si el tamaño de las empresas es mayor que la mediana del tamaño de las empresas en ese año en Exchange A, se llamará "GRANDE". algo como esto,

= if ([size]> MEDIANX (filter (filter (tbl1, [Año] = A), [Año]), [tamaño]), "Grande", "Pequeño"

Sé que la forma en que usé los filters es incorrecta. No se como hacer esto. Por favor, ayúdame.

Tu pregunta no está muy bien networkingactada, ya que me he preguntado si he hecho las suposiciones correctas al responder, pero, en esencia, creo que necesitas algo así como una fórmula de matriz con Median.

=IF(C2>MEDIAN(IF($D$2:$D$5="A",IF($B$2:$B$5=B2,$C$2:$C$5))),"Big","Small") 

Esto debería darle "Grande" si para ese año el tamaño de las empresas es mayor que la mediana del tamaño de las compañías en ese año en Exchange A.

Supongo que usted solicita una solución de PowerPivot, ya que su pregunta está labelda como tal.

La fórmula DAX (también conocida como Power Pivot) MEDIAN() solo está disponible en la edición de vista previa de Excel 2016 (consulte aquí: https://msdn.microsoft.com/en-us/library/dn802551.aspx ).

Sin embargo, puedes simplemente build tu propia lógica mediana usando RANKX()

Primero, agregue una nueva columna llamada [RankInExchangeA] :

 =If([Exchange]="A",RANKX(FILTER(Table1,[Exchange]="A" && EARLIER([year])=[year]),[size]),Blank()) 

La function ThisRowsValue() básicamente significa ThisRowsValue() .

Ahora agregue su columna Big / Small deseada:

 =If([Exchange]="A",If([RankInExchangeA]<=CALCULATE(max([RankInExchangeA]),filter(Table1,EARLIER([year])=[year]))/2,"Small","Big"),"Other Exchange") 

EDITAR: Agregó la condición del año a las fórmulas.

EDIT 2: Como se menciona en los comentarios, la siguiente fórmula funcionaría usando MEDIANX() :

 =IF([size]>MEDIANX(FILTER(Table,[Exchange]="A"&&EARLIER([date])=[date]),[size]),‌​"Big","Small")