Mapeamento de elementos filhos

0

Não consigo encontrar uma boa maneira de resolver este problema. Vou tentar resumir a questão da melhor maneira possível:

Uso o ad-in do Hyperion Essbase Excel para navegar em cubos OLAP. O que estou tentando realizar aqui é mapear determinados rótulos para valores de uma dimensão. Dentro dessa dimensão, existem vários níveis de agrupamento de dados para que um nó filho possa ter vários níveis de pais. Eu posso saber de antemão o que serão os membros, mas eles estão sujeitos a alterações a cada mês e encontrar membros ausentes pode ser entediante, então o que fazemos é usar os membros pais e ampliar seus membros. No entanto, dentro de um pai pode haver vários rótulos diferentes. Eu consegui parte disso usando VLOOKUP () e se a linha atual não é encontrada na minha tabela, então eu olho uma linha para baixo e arrasto essa fórmula, isso tem o seguinte efeito indesejável:

Eutenhonumeradooquevaijunto.Comovocêpodevernomeuexemplo,oelemento"24566" também é encontrado no pai "FD120465". O resultado é que todos os elementos encontrados antes no mesmo grupo são mapeados para "Despesa B", mas o resultado é que todos os elementos filhos devem ser mapeados para "Despesa D", mas "24566". Aqui está a fórmula que usei neste exemplo:

=IFERROR(VLOOKUP(C11,$C$3:$D$8,2,0), D12)

Existem várias maneiras de lidar com isso, mas nenhuma que eu goste. Eu poderia fazer duas fórmulas diferentes, uma que analisa apenas elementos filho e outra que olha apenas para elementos pai. Se os elementos filho forem colocados em primeiro lugar, não importa que o rótulo errado seja colocado no grupo ("24566" seria marcado como "Despesa D" na parte laranja). Isso também tem a desvantagem de incorrer em mais trabalho (definir as regiões onde usar a fórmula 1 e a fórmula 2 e fazer o trabalho manualmente ou exagerá-lo com o VBA ...)

Outra maneira é simplesmente remover cada elemento filho e colocá-lo na tabela com seu mapeamento apropriado. O problema é que os pais estão sujeitos a ter mais ou menos itens neles a cada mês e o mapeamento pode mudar (embora isso não deva acontecer com tanta frequência), então gerenciar cada elemento filho será tedioso. A amostra que forneci é pequena para o que eu tenho (15 a 20 filhos em um dos pais).

Esta é uma última chance que estou dando nesta tarefa antes de aceitarmos a solução que tenha as menores desvantagens. Existe uma maneira óbvia (ou mesmo não tão óbvia) de resolver este problema cleanly ?

Obrigado!

    
por ApplePie 01.01.2013 / 05:17

1 resposta

0

Isso funciona se você quiser o que eu suspeito que você quer e está começando de onde eu suspeito que você é. (Não é necessariamente a melhor maneira de alcançar o resultado dos dados, mas pode pelo menos ajudar a esclarecer o que é necessário.)

  1. Adicione uma coluna auxiliar para que todos os filhos tenham um pai (supondo que eles façam):

    B11 = IF (ESQUERDA (C11,2)="FD", C11, B12) (copiada conforme requerido)

  2. =IFERROR(VLOOKUP(C11,$C$3:$D$8,2,FALSE),VLOOKUP(B11,$C$3:$D$8,2,FALSE)) (em D11, copiado conforme necessário).

Assumi que as duas entradas inferiores da tabela contêm erros de digitação.

    
por 01.01.2013 / 07:24