Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
gustavovm
Contributor III
Contributor III

If.. Then.. Else.. na criação de um Item Mestre.

Boa tarde, caríssimos colegas!

Estou com uma questão aparentemente simples, mas que está me dando uma tremenda dor de cabeça. O que eu quero é criar dentro de um item mestre, criado como uma dimensão, fazer uma espécie de "de - para" utilizando a estrutura condicional "if then else". Creio que o problema seja a sintaxe a ser adotada dentro de um item mestre. Mas a ideia é a seguinte.

If [Ação] = "0C04", Then "0C04 - Provimento de Cargos" elseif

   [Ação] = "20TP", Then "20TP - Pagamento de Pessoal Ativo" elseif 

   [Ação] = "4062", Then "4062 - Administração Legislativa" elseif

...

(cerca de trinta condições)

...


...

End If


Devido à grande quantidade de condições as quais o campo [Ação] pode assumir, quero evitar aquela sintaxe utilizando parêntesis, na qual precisamos "aninhar" um if dentro de outro. Prefiro essa sintaxe acima, maia natural.


Obrigado!

1 Solution

Accepted Solutions
gustavovm
Contributor III
Contributor III
Author

Opa. Desculpe a demora em responder. Acabei utilizando a sintaxe entre parênteses. Deu certo, conforme aqui sugerido. Super obrigado a todos!

View solution in original post

4 Replies
eduardo_dimperio
Specialist II
Specialist II

Ja pensou em utilizar Mapping ao inves de IF pra solucionar o seu problema?

ChrMap:

MAPPING

LOAD * INLINE [

    ACAO,DESCRICAO

    0C04 ,0C04 - Provimento de Cargos

ETC..ETC..ETC

];

Load

    mapsubstring('ChrMap', YOUR_FIELD) AS YOUR_NEW_FIELD

Resident YOUR TABLE;

pablolabbe
Luminary Alumni
Luminary Alumni

Gustavo,

  Dentro de expressões em itens mestres e graficos a unica sintaxe do IF é com o uso de parenteses.

  O Eduardo sugeriu ao invés de fazer o de-para no layout, fazer isso na carga de dados.  É melhor.

Pablo

pablolabbe
Luminary Alumni
Luminary Alumni

Conseguiu resolver sua dúvida ?

gustavovm
Contributor III
Contributor III
Author

Opa. Desculpe a demora em responder. Acabei utilizando a sintaxe entre parênteses. Deu certo, conforme aqui sugerido. Super obrigado a todos!