Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Amigos.
Estou fazendo um levantamento sobre minha equipe aqui na empresa (Mapeamento de Competências) e os dados foram todos lançados através de uma ferramenta de pesquisa chamada LimeSurvey para dentro de uma extensa planilha Excel (pedaço anexo). Até aí tudo bem, pois dá para fazer muita coisa com ela. Minha maior dificuldade (entre várias outras, pois sou novato no assunto) é que eu preciso lançar os dados contidos em 2 colunas:
1) Uma chamada FUNCIONARIOS onde está o nome de todos os técnicos da minha equipe;
2) E outra chamada ADMISSAO, onde consta a data de admissão dos técnicos.
A ideia é segmentar em ranges de 5 anos, ou seja, eu preciso saber quem entrou na empresa nos últimos 5 anos, nos últimos 10 anos, 15, 20, 25...
Vi algumas dicas e o máximo que eu cheguei foi numa expressão:
if ( admissao < Date('<01/01/1975', '<DD/MM/YYYY') , '0', Count (ADMISSAO))
Nesta expressão, posso ver os grupos de contratação por dias, exemplo, no dia 04/05/2008 entraram 4 funcionários na empresa, assim por diante. Mas isso está longe daquilo que eu pretendo, pois não está dividido em grupos e sim fixados pelas datas de admissão.
Se alguém puder me dar umas dicas, ficarei imesamente agradecido. Não sou programador, minha carreira sempre foi na área de gestão e sou um esforçado aprendiz. Obrigado.
| FUNCIONARIOS | NASCIM | SEXO | PESQ | ADMISSAO |
| RODRIGUES | 02/09/62 | Masculino | Responderam | 05/11/84 |
| NEVES FILHO | 10/09/61 | Masculino | Responderam | 18/03/81 |
| PAULA | 04/04/66 | Masculino | Responderam | 26/06/00 |
| LOPES | 26/12/90 | Masculino | Responderam | 03/05/10 |
| GREGORY | 16/05/53 | Masculino | Responderam | 01/06/73 |
| NATAL | 23/06/60 | Masculino | Responderam | 02/08/04 |
| MIRO | 12/09/62 | Masculino | Responderam | 04/05/81 |
| SOUZA | 01/08/58 | Masculino | Responderam | 08/08/77 |
| GOUVEIA | 22/11/86 | Feminino | Responderam | 09/09/83 |
| OLIVEIRA | 07/12/65 | Masculino | Responderam | 07/02/86 |
| ANA | 12/11/54 | Feminino | Responderam | 11/06/84 |
| ALMEIDA | 23/10/76 | Masculino | Responderam | 01/08/06 |
| LUIZ | 16/05/79 | Masculino | Responderam | 03/07/06 |
| SANTOS | 22/07/69 | Feminino | Responderam | 02/06/08 |
| NASCIMENTO | 31/07/85 | Feminino | Responderam | 05/02/07 |
| ANTONIO | 25/09/53 | Masculino | Abstiveram | 05/05/80 |
| PEDRO | 13/06/58 | Masculino | Responderam | 20/09/77 |
| RIBEIRO | 18/11/66 | Masculino | Responderam | 17/08/98 |
Ola,
Existe uma parte própria para postar os questinamentos (Start a Discussion) mas como é novo sem problemas.
Existe a função CLASS na qual você pode definir uma regra de classificação. (pode entender melhor o conceito lendo o HELP do qlikview (F1 - Função CLASS)
De acordo com o seu modelo você pode criar uma expressão da seguinte forma:
CLASS( ( YEAR(TODAY() ) - YEAR(ADMISSAO) ), 5, 'Admissão',)
Primeiro é calculado a diferença entre o ano da admissão e o ano atual:
"( YEAR(TODAY() ) - YEAR(ADMISSAO) )"
o Segundo parâmetro indica o intervalo a ser comparado
e o Terceiro parâmetro é apenas um apelido a ser demonstrado na expressão.
Na forma em que montei fica conforme a imagem:

Uma outra forma de conseguir o resultado esperado é no seu script realizar um tratamento condicional verificado a cada período desejado, por exemplo:
IF(YEAR(TODAY()) - YEAR(ADMISSAO) <= 5, 'Até 5anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 5 AND IF(YEAR(TODAY()) - YEAR(ADMISSAO) <= 10, 'De 6 até 10 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 10 AND IF(YEAR(TODAY()) - YEAR(ADMISSAO) <= 15, 'De 11 até 15 anos'....
E por ai vai...
Abraços
Eduardo.
Eu preferi fazer via script. As dicas foram excelentes e estou resolvendo tudo via script agora (antes eu não praticava isso). Fiz um teste apenas com a primeira linha dos parâmetros que você me enviou e funcionou muito bem. Quando coloco todas as linhas no script dá erro dizendo que está faltando parênteses em alguns lugares. Mas isso, é apenas sintaxe e espero resolver ainda hoje. Quando tiver o resultado pronto, postarei para te mostrar. Abraços e obrigado.
Pessoal.
Estou com este script abaixo, mas não está rolando.
Está pedindo parênteses. Já tentei de vários jeitos, mas não consigo chegar no resultado, que é uma nova coluna com os funcionários classificados por ranges de tempo de casa.
Se alguém tiver uma dica, fico agradecido.
Abraços.
SET
ThousandSep='.';
SET DecimalSep=',';
SET MoneyThousandSep='.';
SET MoneyDecimalSep=',';
SET MoneyFormat='R$ #.##0,00;-R$ #.##0,00';
SET TimeFormat='hh:mm:ss';
SET DateFormat='DD/MM/YYYY';
SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';
SET MonthNames='jan;fev;mar;abr;mai;jun;jul;ago;set;out;nov;dez';
SET DayNames='seg;ter;qua;qui;sex;sáb;dom';
SET NullValue='Nao';
REM SET NullDisplay=<Null>;
REM SET NullInterpret=´Não´;
TABELAGERAL:
LOAD FUNCIONARIOS,
NASCIM,
SEXO,
PESQ,
ADMISSAO,
[2G],
[2GT],
[2CUR],
GRINCO,
GRSTOP,
GRINCOCUR,
GRA,
GRACUR,
GRAANO,
GRAONDE,
GRAREA,
ESP,
ESPCUR,
ESPONDE,
ESPANO,
MBA,
MBACUR,
MBAONDE,
MBAANO,
MST,
MSTCUR,
MSTONDE,
MSTANO,
DR,
DRCUR,
DRONDE,
DRANO,
CECUR,
CECUR1,
CECURONDE1,
CECURANO1,
CECUR2,
CECURONDE2,
CECURANO2,
CECUR3,
CECURONDE3,
CECURANO3,
OCURRELEV,
LINGUA1,
B1,
I1,
A1,
LE1,
ES1,
FA1,
LINGUA2,
B2,
I2,
A2,
LE2,
ES2,
FA2,
OUTRAEMPRESA,
EMP1,
OEATV1,
DSLIG1,
EMP2,
OEATV2,
DSLIG2,
OUTSETOR,
QUALSETOR,
OUTSETATV,
TRABEQUIP,
ADAPTAB,
COMVERBAL,
DIDATI,
NEGOCIA,
RACIOLOG,
DESTREZ,
LIDERA,
PRATICI,
ATUPRESS,
SENSCRIT,
CRIATIV,
ATIVPARALEL,
QUALATIVPARALEL,
GOSTADQ,
GOSTARIA,
OPCIONAL,
IF(YEAR(TODAY()) - YEAR(ADMISSAO) <= 5, 'Até 5 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 5 AND IF(YEAR(TODAY()) - YEAR(ADMISSAO) <= 10, 'De 6 até 10 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 10 AND IF(YEAR(TODAY()) - YEAR(ADMISSAO) <= 15, 'De 11 até 15 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 15 AND IF(YEAR(TODAY()) - YEAR(ADMISSAO) <= 20, 'De 16 até 20 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 20 AND IF(YEAR(TODAY()) - YEAR(ADMISSAO) <= 25, 'De 21 até 25 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 25 AND IF(YEAR(TODAY()) - YEAR(ADMISSAO) <= 30, 'De 26 até 30 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) >= 30, 'Mais de 31 anos') AS TEMPOCASA
FROM
C:\Users\Brun\BI_Mapeamento_Competencias.xls
(biff, embedded labels);
Utilize essa estrutura:
IF(YEAR(TODAY()) - YEAR(ADMISSAO) <= 5, 'Até 5 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 5 AND YEAR(TODAY()) - YEAR(ADMISSAO) <= 10, 'De 6 até 10 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 10 AND YEAR(TODAY()) - YEAR(ADMISSAO) <= 15, 'De 11 até 15 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 10 AND YEAR(TODAY()) - YEAR(ADMISSAO) <= 15, 'De 16 até 20 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 10 AND YEAR(TODAY()) - YEAR(ADMISSAO) <= 15, 'De 21 até 25 anos',
IF(YEAR(TODAY()) - YEAR(ADMISSAO) > 10 AND YEAR(TODAY()) - YEAR(ADMISSAO) <= 15, 'De 26 até 30 anos', 'Mais de 31 anos')))))) AS TEMPOCASA
Abraços
Vejam o resultado !!!
Abraços e obrigado a todos pela ajuda..
