2016-01-18 3 views
1

Скажем, у меня есть следующие данные:Как я могу получить свою агрегированную экспозицию по идентификаторам по иерархии?

Trade Data:

TradeId,CptyID,Exposure 
T1  , C3,  100 
T2  , C2,  50 
T3  , C6,  200 

Бизнес Иерархия данных:

CptyID,L1-Acronym,L2-Acronym,L3-Acronym 
C3,  H1,  H2,  H3 
C2,  H4,  H5,  H2 
C6,  H4,  H5,  H6 

ID Mapping:

Acronym,CptyID,Identifier 
H1  , C1,  B1 
H2  , C2,  B2 
H3  , C3,  B3 
H4  , C4,  B4 
H5  , C5,  B5 
H6  , C6,  B6 

IE, имеющие иерархии, как: уровня Сокращение (идентификатор)

L1  H1(B1)  H4(B4) 
L2  H2(B2)  H5(B5) 
L3  H3(B3) H2(B2) H6(B6) 
Trade T1  T2  T3 

Я хотел бы получить экспозицию идентификаторов (В1, В2, В3, В4, В5, В6), где Exp (В1) = Exp (T1), Exp (B2) = Exp (T1) + Exp (T2) ...

Объединение их вместе не работает. Это дало бы мне 3 факта:

TradeID, CptyID, Exposure, L1-Acronym, L2-Acronym, L3-Acronym, Identifier 
T1  , C3 ,  100,   H1,  H2,   H3,   B3 
T2  , C2 ,  50,   H4,  H5,   H2,   B2 
T3  , C6 ,  200,   H4,  H5,   H6,   B6 

и дать мне неправильные результаты, я бы только получить экспозицию для идентификаторов на уровне 3:

Identifier,ResultInLive,ExpectedResult 
B1  ,  Null,   100 (Null because I have no facts associated directly to B1) 
B2  ,   50,   150 
B3  ,   100,   100 
B4  ,  Null,   250 
B5  ,  Null,   250 
B6  ,   200,   200 

Другая трудность состоит в том, что эти размеры могут иметь много членов (> 300K).

С наилучшими пожеланиями,

Christophe

ответ

1

Спасибо за ваш ответ!

Каждый уровень данных моей бизнес-иерархии - это «объекты», которые имеют идентификаторы.

Например, позволяет рассматривать только торговую T1, который имеет экспозицию 100. У меня есть иерархия 3-х уровней:

  1. первого уровня H1, который имеет идентификатор = B1
  2. второй уровень Н2, который имеет идентификатор = B2
  3. третий и нижний уровень Н3, который имеет идентификатор B3

То, что мы пытаемся достичь, чтобы иметь размер идентификатора с MEM bers B1, B2, B3 ... с правильной экспозицией.

Следовательно, в данном случае:

  • В3 будет иметь экспозицию 100, поступающих от T1 => Exposure (B3) = экспозиции (T1)
  • В2, который является В3 родителем, также будет иметь экспозиция 100, поступающая из T1 => Экспозиция (B2) = Экспозиция (T1)
  • B1, который является родителем B2, также имел бы экспозицию 100, исходящую от T1 => Экспозиция (B1) = Экспозиция (T1)

Соединение с использованием cptyId не дает нам е ожидаемый результат, как основной факт, был бы:

TradeID, CptyID, Exposure, L1-Acronym, L2-Acronym, L3-Acronym, Identifier 
T1  , C3 ,  100,   H1,  H2,   H3,   B3 

Поэтому в ActivePivot Live, мы хотели бы видеть:

Identifier,ResultIn AP Live,ExpectedResult 
B1  ,   Null,   100 (Null because there is no facts associated directly to B1) 
B2  ,   Null,   100 (Null because there is no facts associated directly to B2) 
B3  ,    100,   100 (given by the trade fact) 

В первом посте, я также хотел, чтобы проиллюстрировать тот факт, что тот же самый идентификатор может быть в двух разных иерархиях.

Например:

L1  H1(B1)  H4(B4) 
L2  H2(B2)  H5(B5) 
L3  H3(B3) H2(B2) H6(B6) 
Trade T1  T2  T3 

мы можем видеть, что В2 присутствует в L2 на первой иерархии и L3 второй иерархии.

Поэтому мы ожидаем, что экспозиции (B2) = Exposure (T1) + Exposure (T2) = 150.

Сердечные приветы

+0

почему нет никакой ссылки на В1 и В2 в своем кортеже? вы можете добавить их в качестве атрибутов, так как вы уже добавили H1 и H2. – tuxmobil

+0

Hi, Это из-за существующей датамодели. В настоящее время у нас есть 3 файла: - Иерархия файлов, что дает мне H1, H2 и H3 - Файл идентификатор - товарный файл. В настоящее время они объединяются с использованием cptyID. Поэтому для каждого торгового факта у меня будет иерархия, соответствующая этому CptyID, и только идентификатор, соответствующий этому cptyID. Действительно, я могу улучшить свой факт, чтобы построить иерархию идентификатора, но он не будет полностью решить мою проблему, поскольку один идентификатор может быть в двух разных иерархиях и поэтому будет рассматриваться как два разных члена. – ChristopheCC

+0

означает, что вы хотите, чтобы идентификатор считался одним и тем же членом, даже если он находится на двух разных уровнях/глубинах/иерархиях? Если да, то вы должны создать дополнительную иерархию с только идентификаторами, иначе (как вы упомянули), они будут считаться двумя разными членами. – tuxmobil

 Смежные вопросы

  • Нет связанных вопросов^_^