Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia,
Tenho uma tabela de NF emitidas, onde tenho alguns clientes com mais de uma unidade, ou seja, ele tem o mesmo CNPJ raiz, mas varias filiais. Eu ate consigo juntar os CNPJ raiz em um unico, usando LEFT(CNPJ,8) AS CNPJ RAIZ.
A duvida é, como consigo dar um nome para este CNPJ que é um numero? Segue base abaixo, e como gostaria que ficasse
o campo CNPJ RAIZ teria que ficar "02916265 - JBS"
Alguem consegue me ajudar?
Usa o mapping load e o applymap como indicado pelo Murilo pois acho que no teu caso é a melhor solução.
CNPJRaiz:
MAPPING LOAD
LEFT(CNPJ,8) AS CNPJRaiz,
ClientePagador
FROM [Tabela dos pagadores];
e depois na tabela onde deva existir os pagamentos você usuaria
LEFT(CNPJ,8) & ' - ' & ApplyMap('CNPJRaiz', LEFT(CNPJ,8) ,'CNPJ pagar não existente') As [Cliente Pagador];
//aqui você pode fazer o concatenamento
Uma opção seria carregar o CNPJ RAIZ e CLIENTE PAGADOR em um MAPPING
No load faria uma APPLY MAP
Exemplo:
CNPJRaiz:
MAPPING LOAD
LEFT(CNPJ,8) AS CNPJRaiz,
ClientePagador
FROM [Tabela dos pagadores];
e depois na tabela onde deva existir os pagamentos você usuaria
ApplyMap('CNPJRaiz', LEFT(CNPJ,8) ,'CNPJ pagar não existente') As [Cliente Pagador];
A ideia do Murilo é bacana...
Mas se você só quer concatenar o nome do cliente com o CNPJ Raiz, bastaria fazer:
LEFT(CNPJ,8) & ' - ' & CLIENTE as CNPJ_RAIZ_NOME
O problema é que o CLIENTE, pode ter grafia diferente em cada linha da minha tabela, dai não consigo juntar este campo. Pois vão parecer que são clientes diferentes.
LOAD [1],
CTRC,
[Numero CT-e],
[Tipo do Documento],
[Praca Expedidora],
[Unidade Emissora],
[Data de Emissao],
[Hora de Emissao],
[Data de Autorizacao],
[Hora de Autorizacao],
Login,
[Numero de Controle],
[Placa de Coleta],
[Chave CTe],
[CNPJ Remetente],
[Cliente Remetente],
[Endereco do Remetente],
[Bairro do Remetente],
[Setor de Coleta],
[Cidade do Remetente],
[UF do Remetente],
[CEP do Remetente],
[CNPJ Expedidor],
[Cliente Expedidor],
[Cidade do Expedidor],
[UF do Expedidor],
[CNPJ Pagador],
[Cliente Pagador],
[Endereco do Pagador],
[Bairro do Pagador],
[Cidade do Pagador],
[UF do Pagador],
[Fone do Pagador],
[Segmento do Pagador],
[CNPJ Destinatario],
[Cliente Destinatario],
[Endereco do Destinatario],
[Bairro do Destinatario],
[Setor de Destino],
[Praca de Destino],
[Cidade do Destinatario],
[UF do Destinatario],
[CEP do Destinatario],
[Fone do Destinatario],
[CNPJ Recebedor],
[Cliente Recebedor],
[Cidade de Entrega],
[UF de Entrega],
[CEP de Entrega],
[Unidade Receptora],
CFOP,
[Numero da Nota Fiscal],
[Peso Real em Kg],
[Cubagem em m3],
[Quantidade de Volumes],
[Quantidade de Pares],
[Tipo do Frete],
[Tipo de Baixa],
[Data da Liquidacao],
[Valor Liquidado],
Mercadoria,
Especie,
[Valor da Mercadoria],
[Tipo de Calculo],
[Tabela de Calculo],
[Valor do Frete],
[Valor do Frete sem ICMS],
[Base de Calculo],
[Valor do ICMS],
Aliquota,
[Valor do ISS],
[Peso Calculado em Kg],
Modalidade,
[Primeiro Manifesto],
[Data do Primeiro Manifesto],
[Placa do Cavalo],
[Placa da Carreta],
[Conferente de Carga],
[Conferente de Descarga],
[Ultimo Manifesto],
[Data do Ultimo Manifesto],
[Ultimo Romaneio],
[Data do Ultimo Romaneio],
[Placa de Entrega],
[Codigo da Ultima Ocorrencia],
[Data de inclusao da Ultima Ocorrencia],
[Data da Ultima Ocorrencia],
[Unidade da Ultima Ocorrencia],
[Descricao da Ultima Ocorrencia],
[Previsao de Entrega],
[Entrega Programada],
[Data da Entrega Realizada],
[Quantidade de Dias de Atraso],
[Localizacao Atual],
[Data do Cancelamento],
[Motivo do Cancelamento],
[Codigo dos Correios],
[CTRC Origem],
[CTe Origem],
[Valor do Frete do CTRC Origem],
[Valor do ICMS origem],
[Valor da Comissao de Expedicao],
[Rel de Comissao de Expedicao],
[Resultado Minimo %],
[Resultado Real PEDAGIO],
[Resultado Real TRANFERENCIA],
[Resultado Real R$],
[Resultado Real %],
Vendedor,
[Rel de Comissao de Vendedor],
[Valor Comissao Vendedor],
Pedagio,
TDE,
Observacao,
[Distancia em Km],
[Conferente de Coleta],
Complemento,
date([Data de Emissao]) as Dia,
month([Data de Emissao]) as Mes,
year([Data de Emissao]) as Ano,
Left([CNPJ Destinatario],8) as "CNPJ Raiz Destinatario",
Left([CNPJ Remetente],8) as "CNPJ Raiz Remetente",
Left([CNPJ Pagador],8) as "CNPJ Raiz Pagador"
FROM
(ooxml, embedded labels);
Este é meu Script, como ficaria?
Onde coloco este codigo?
Usa o mapping load e o applymap como indicado pelo Murilo pois acho que no teu caso é a melhor solução.
CNPJRaiz:
MAPPING LOAD
LEFT(CNPJ,8) AS CNPJRaiz,
ClientePagador
FROM [Tabela dos pagadores];
e depois na tabela onde deva existir os pagamentos você usuaria
LEFT(CNPJ,8) & ' - ' & ApplyMap('CNPJRaiz', LEFT(CNPJ,8) ,'CNPJ pagar não existente') As [Cliente Pagador];
//aqui você pode fazer o concatenamento
Thiago, perfetio. Deu certo.
Segue script:
CNPJRaizRemetente:
MAPPING LOAD
LEFT([CNPJ Remetente],8) AS [CNPJRaiz Remetente],
[Cliente Remetente]
FROM
(ooxml, embedded labels);
CNPJRaizDestinatario:
MAPPING LOAD
LEFT([CNPJ Destinatario],8) AS [CNPJRaiz Destinatario],
[Cliente Destinatario]
FROM
(ooxml, embedded labels);
CNPJRaizPagador:
MAPPING LOAD
LEFT([CNPJ Pagador],8) AS [CNPJRaiz Pagador],
[Cliente Pagador]
FROM
(ooxml, embedded labels);
Depois no LOAD ficou assim
LEFT([CNPJ Destinatario],8) & ' - ' & ApplyMap('CNPJRaizDestinatario', LEFT([CNPJ Destinatario],8) ,'CNPJ pagar não existente') As [CNPJ Cliente Destinatario],
LEFT([CNPJ Remetente],8) & ' - ' & ApplyMap('CNPJRaizRemetente', LEFT([CNPJ Remetente],8) ,'CNPJ pagar não existente') As [CNPJ Cliente Remetente],
LEFT([CNPJ Pagador],8) & ' - ' & ApplyMap('CNPJRaizPagador', LEFT([CNPJ Pagador],8) ,'CNPJ pagar não existente') As [CNPJ Cliente Pagador]
FROM
(ooxml, embedded labels);
Uma ultima pergunta, tem como otimizar o MAPLOAD que eu fiz? Pois ele faz 3 cargas em vez de uma.