Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde pessoal!
Poderiam me ajudar por favor?
No load estou utilizando o mapping load e criando algumas condições com IF criando um novo campo chamado Status.
[Status]:
Mapping Load
[Status_ID],
IF(xxxxx....) AS Status
FROM [lib://Teste/Planilha_01.xlsx]
(ooxml, embedded labels, table is Dados_Status)
;
Agora o passo do applymap, fazendo a ligação com a minha tabela
[Disponibilidade]:
Load * ,
applymap('Status', [Status ID]) as Status,
IF(xxxxxx...., 'Teste',
IF(Status <50, 'Indisponivel') ) AS Disponibilidade. ****Aqui tenho algumas condições com IF criando Um novo campo chamado Disponibilidade; ***Gostaria de utilizar aqui o campo novo que criei acima (Status), mas não consigo pois dá um erro dizendo que o campo não existe.
Alguem poderia me ajudar? Como utilizar um campo novo que estou carregando na memória em um único Load?
Obrigado Pessoal.
****************** Editado 14:18 - Acrescentando informações de como está estruturado o load.
[Disponibilidade]:
Load * ,
if(Condição_01, '01 Disponivel',
if(Condição_02, '02 Disp Parcial',
if(Status < 50, '03 Indisponivel'))) AS Disponibilidade
;
Load * ,
applymap('Status', [Employee ID]) as Status; **Mapeamento que fiz do campo status
/// Load dos dados no excel **
[Funcionarios]: *** Carrega os campos e dados do meu excel, utilizo na minha metrica do campo disponibilidade alguns campos originados da planilha.
LOAD
"Name",
"Employee ID",
"XXX",
"YYYY",
"AABB"
FROM [lib://Pasta_Teste/Planilha.xls]
(biff, embedded labels, table is [Sheet]);
[Status]: **Criação do campo status
Mapping Load
// Load * ,
[Employee ID],
if(name = 'Teste', '10',
if(name = 'New', '30'
if(name = 'xxx', '50'))) as Status
FROM [lib://Pasta_Status/Planilha_Status.xlsx]
(ooxml, embedded labels, table is Sheet)
;
[Planilha_Status]:
LOAD
[xxx],
[yyyy],
[aaaa]
FROM [lib://Pasta_status/Planilha_Status.xlsx]
(ooxml, embedded labels, table is Forecast5);
Voce está usando um campo que está sendo criado, não funciona, tem que fazer em duas fases:
Disponibilidade]:
LOAD *,
IF(Status <50, 'Indisponivel') ) AS Disponibilidade;
Load * ,
applymap('Status', [Status ID]) as Status,
[restante do script aqui]
Bruno, bom dia!
Você precisa fazer uma "Resident" da tabela Status para poder utilizar o campo Status dela em outra tabela, basta incluir no final da tabela disponibilidade:
[Disponibilidade]:
Load * ,
applymap('Status', [Status ID]) as Status,
IF(xxxxxx...., 'Teste',
IF(Status <50, 'Indisponivel') ) AS Disponibilidade
Resident Status;
Voce está usando um campo que está sendo criado, não funciona, tem que fazer em duas fases:
Disponibilidade]:
LOAD *,
IF(Status <50, 'Indisponivel') ) AS Disponibilidade;
Load * ,
applymap('Status', [Status ID]) as Status,
[restante do script aqui]
Olá Clever,
Segui seus passos e deu certo, consegui utilizar o campo status na condição do meu outro campo disponibilidade.
Só que tem um problema, na aplicação eu fiz um teste e criei uma tabela simples e coloquei a dimensão status, não apareceu nenhum dado, está em branco.
Boa tarde!
Obrigado pela ajuda.
Fiz o que disse, mas não funcionou.
Erro abaixo:
The following error occurred:
Table not found
Clever, boa tarde!
Seguindo suas dicas consegui carregar o campo novo e criar a minha métrica no load.
Muito Obrigado.
Abs.