Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Como juntar dados texto de duas colunas ?

Bom dia Pessoal.

Não estou conseguindo colocar num gráfico os dados da tabela abaixo.

Eu levantei na equipe, quais eram as linguas que cada funcionário falava.

Agora eu preciso colocar num gráfico mostrando a quantidade de linguas faladas.

O problema é que os dados estão em duas colunas distintas e eu não sei juntar estes dados num único gráfico.

Alguém tem alguma dica ?

Antecipadamente obrigado.

                                                                                                    

FUNCIONARIOLINGUA1LINGUA2
AInglêsAlemão
BInglês
CEspanhol
DInglês
EInglêsEspanhol
FFrancês
GInglêsItaliano
HInglêsItaliano
IInglês
JUcraniano
KInglês
LInglêsEspanhol
MInglês
NMandarin
OInglês
PInglêsEspanhol
QInglês
RInglêsItaliano
1 Solution

Accepted Solutions
Not applicable
Author

Aproveitando o que o Eduardo falou.

A unica coisa q eu faria, seria mudar o nome das colunas LINGUA1 e  LINGUA2 na chora de concatenar dando os mesmos nomes para elas.Eu acredito que isso resolverá seu problema. Segue exemplo

[tabela]:

LOAD Funcionarios,

     lingua,

     lingua2

FROM

planilha2.xlsx

(ooxml, embedded labels, table is Plan1);

[tabela2]:

Load

Funcionarios,

lingua

Resident tabela;

Concatenate(tabela2)

Load

Funcionarios,

lingua2 as lingua

Resident tabela;

DROP Table tabela;

View solution in original post

18 Replies
matzenbacher
Creator II
Creator II

E ai Brunpipo,

Fiz um exemplo, acho que fica mais fácil passar a idéia.

abs.

** Pode Dropar a tabela original se quiser:

drop table [tabela] ;

Not applicable
Author

O ideal é você ajustar os dados no seu script lendo primeiro os dados da Lingua_1 e depois Lingua_2:

Exemplo:

IDIOMAS:

LOAD

     FUNCIONARIO,

     LINGUA1,

     LINGUA2

FROM BASE_DE_DADOS;

// Aqui você realiza a transformação

TABELA_TRANSFORMADA:

LOAD

     FUNCIONARIO,

     LINGUA1

RESIDENT IDIOMAS;

CONCATENATE

LOAD

     FUNCIONARIO,

     LINGUA2

RESIDENT IDIOMAS

WHERE ISNULL(LINGUA2) <> -1; // Verifica se possui ou não essa informação.

Abraços!!

Not applicable
Author

Pessoal.

Nenhuma das dicas acima funcionou. A dica do Eduardo colocando no script, chegou perto. Uma nova tabela foi gerada, mas os dados não ficaram alinhados numa única coluna. Continuaram em duas colunas separadas e ainda duplicados.

Dá para perceber que no final da tabela, na coluna LINGUA2 as linhas em branco foram eliminadas, mas faltaram os dados da LINGUA1. No gráfico, a soma da lingua "Inglês", por exemplo, ficou como se fosse falada por  225 funcionários, sendo que o total é de apenas 131 funcionários na equipe.

Não sei se consegui me explicar.

Abs

matzenbacher
Creator II
Creator II

posta teu qvw q fica melhor.

=D

abs.

Not applicable
Author

Bom Dia,

Você pode fazer um tratamento nos campos para indicar qual é a primeira lingua e a segunda por exemplo:

TABELA_TRANSFORMADA:

LOAD

     FUNCIONARIO,

     LINGUA1 AS IDIOMA,

     'Idioma 1' AS TIPO_IDIOMA

RESIDENT IDIOMAS;

CONCATENATE

LOAD

     FUNCIONARIO,

     LINGUA2 AS IDIOMA,

     'Idioma 2' AS TIPO_IDIOMA

RESIDENT IDIOMAS

WHERE ISNULL(LINGUA2) <> -1; // Verifica se possui ou não essa informação.

Se você precisar saber a quantidade de funcionarios basta realizar a seguinte expressão:

COUNT ( DISTINCT FUNCIONARIO )

Abraços

Not applicable
Author

Aproveitando o que o Eduardo falou.

A unica coisa q eu faria, seria mudar o nome das colunas LINGUA1 e  LINGUA2 na chora de concatenar dando os mesmos nomes para elas.Eu acredito que isso resolverá seu problema. Segue exemplo

[tabela]:

LOAD Funcionarios,

     lingua,

     lingua2

FROM

planilha2.xlsx

(ooxml, embedded labels, table is Plan1);

[tabela2]:

Load

Funcionarios,

lingua

Resident tabela;

Concatenate(tabela2)

Load

Funcionarios,

lingua2 as lingua

Resident tabela;

DROP Table tabela;

aderlanrm
Partner - Specialist
Partner - Specialist

Olá pessoal,

Vou deixar um pergunta aqui.

Porque o uso de um LOAD mais dois RESIDENTs?

A condição WHERE funciona perfeitamente no LOAD com FROM, então, a carga e CONCATENATE funciona sem os recidentes, sem precisar DROPar as tabelas posteriormente.

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Not applicable
Author

Este script funcionou. Problema resolvido !

Not applicable
Author

Aderlan eu usei porque eu carrego os dados, e depois eu crio 2 tabelas residents contendo em cada um uma campo sobre o idioma que a pessoa fala ou eu carrego a planilha 2 vezes mas cada uma com um campo de lingua e faço a mesma coisa que fiz no resident, e também porque essas  são as  unicas formas que eu conheço, você poderia dar um exemplo de como seria dessa forma que você explicou?