14 Replies Latest reply: Apr 4, 2018 2:59 PM by Ricardo gerhard RSS

    Lista de funcionários x marcação de ponto

    Pedro Pazini

      Pessoal boa tarde!

       

      Estou precisando demonstrar em Uma Lista Funcionários Que Não bateram o Ponto sem Relógio Ponto da Empresa.

       

      Fonte de Dados:
      Tenho uma Lista de Funcionários e also a Lista das marcações.

       

      Fiz uma Importação há Qlik Sentido e interliguei como Chaves (código o Funcionário), porem aparecem APENAS OS Funcionários that bateram o Ponto, gostaria de selecionar Por Exemplo dia tal, EO Relatório tivesse Algum tipo de caso, verificando a Lista de Funcionários na tela e Retornado em uma Coluna a hora da Marcação do Ponto e se Caso nao Marcou aparecer uma Mensagem, falta Marcação.
      Problema Que o Qlik Não reconhece OS nulos da forma Que fiz, Alguém Tem alguma Solução OU dica pra me Ajudar Nesse SENTIDO.

       

      Obrigado Por Enquanto.

        • Re: Lista de funcionários x marcação de ponto
          Thiago Justen Teixeira

          Pedro, tem como postar o script usado?

           

          De qualquer forma,  talvez seja interessante algo do tipo:

           

          Load

          SEUS_CAMPOS,

          If (IsNull (DATA_PONTO), 'Não Marcou','Marcou') as Flag_Ponto

          From SUA_BASE;

           

          E na UI dá pra contar os funcionários que não bateram ponto num dado dia por exemplo;

           

          Count ({<Flag_Ponto={'Não Marcou'}>} Distinct FUNCIONARIO)

          • Re: Lista de funcionários x marcação de ponto
            Thiago Justen Teixeira

            Talvez, após seu script principal possa colocar o seguinte:

             

            Right Join (Marcacoes)

            Load

                     funcionario_codigo

            Resident Funcionarios Where funcionario_data_demissao is Null;


            Marcacoes_Final:

            Load

                     *,

                    If (isNull (data_batida),'Não Marcou','Marcou') as Flag_Ponto

            Resident Marcacoes;

            Drop Table Marcacoes;

             

            Não testei pois estou no celular,  mas receio que isso será o suficiente.

             

            Abs e Sucesso!

              • Re: Lista de funcionários x marcação de ponto
                Pedro Pazini

                Fiz a tentativa ele inseriu nos registros a opção "não marcou" para os registros nulos, porém, agora cai em outra situação que pensei de várias formas mas não cheguei a uma conclusão. Vou dar um exemplo para ver se fica mais fácil:
                Tenho um funcionário que registra ponto nos seguintes horários: 08:00 12:00 13:00 18:00 (todos os dias)
                A minha aplicação precisa validar se o funcionário marcou ponto e quais os horários fazendo inclusive a conta das horas extras e faltas. Alguma dica de como eu posso começar a fazer? Acredito ser algo bem complexo. Pois meu maior problema é cruzar marcação do ponto x qual deveria ser o horário da marcação, isso por dia e por horário.

                 

                Consegue me dar uma luz?

                  • Re: Lista de funcionários x marcação de ponto
                    Thiago Justen Teixeira

                    Pedro,

                     

                    Consegue me enviar uma amostra de dados (ainda que fictícios) para que com base no seu modelo possa desenvolver algo útil pra você?

                      • Re: Lista de funcionários x marcação de ponto
                        Pedro Pazini

                        Marcações.txt

                        sequencia / codigo funcionario / data_marcacao / hora_marcacao

                        000078 01744 26/03/2018 11:58

                        000079 02158 26/03/2018 11:58

                        000080 02211 26/03/2018 11:58

                        000081 00692 26/03/2018 11:59

                        000082 02284 26/03/2018 11:59

                        000083 00140 26/03/2018 11:59

                        000084 02104 26/03/2018 12:00

                        000085 02179 26/03/2018 12:00

                        000086 02265 26/03/2018 12:00

                        000087 00944 26/03/2018 12:00

                        000088 00771 26/03/2018 12:00

                        000089 01998 26/03/2018 12:01

                        000090 02175 26/03/2018 12:01

                        000091 02200 26/03/2018 12:02

                        000092 02046 26/03/2018 12:03

                        000093 02213 26/03/2018 12:04

                        000094 02155 26/03/2018 12:04

                        000095 02298 26/03/2018 12:05

                        000096 02266 26/03/2018 12:07

                        000097 00178 26/03/2018 12:07

                        000098 02143 26/03/2018 12:09

                        000099 02159 26/03/2018 13:00

                        000100 02310 26/03/2018 13:00

                        000101 01227 26/03/2018 13:01

                        000102 02211 26/03/2018 13:04

                        000103 00140 26/03/2018 13:08

                        000104 02104 26/03/2018 13:09

                        000105 02158 26/03/2018 13:12

                        000106 01744 26/03/2018 13:12

                        000107 01998 26/03/2018 13:12

                        000108 00178 26/03/2018 13:13

                        000109 02200 26/03/2018 13:13

                        000110 02321 26/03/2018 13:13

                        000111 02213 26/03/2018 13:14

                        000112 00692 26/03/2018 13:15

                        000113 02284 26/03/2018 13:15

                        000114 02155 26/03/2018 13:18

                        000115 12238 26/03/2018 13:25

                        000116 12241 26/03/2018 13:25

                        000263 02221 27/03/2018 07:58

                        000264 01731 27/03/2018 07:59

                        000265 02201 27/03/2018 07:59

                        000266 02104 27/03/2018 08:00

                        000267 02284 27/03/2018 08:01

                         

                        Funcionários TXT:

                        Contem os dados dos funcionários, difícil te enviar.
                        segue abaixo fictício
                        2159 JOAO
                        2310 JOSE

                        1997 MARIA

                        2104 PAULO

                        etc..

                         

                         

                         

                        Depois tenho outra tabela onde tenho os horarios que os funcionarios devem cumprir,

                        Nesse caso ainda não tenho o layout dela, pois não sei como ficaria melhor pro qlik entender.
                        2159 JOAO 08:00 12:00 13:00 18:00 segunda,terca,quarta,quinta,sexta

                        2159 JOAO 08:00 12:00  sabado

                        2310 JOSE 08:00 11:00 13:00 17:00 segunda,terca,quarta,quinta,sexta

                        2310 JOSE 08:00 11:00 12:00 15:00 sabado

                        1997 MARIA 08:00 12:00 13:00 18:00 segunda,terca,quarta,quinta,sexta

                        2104 PAULO 08:00 12:00 13:00 18:00 segunda,terca,quarta,quinta,sexta

                        etc.. lembrando ainda que vai ter horários em que é sábado e teria que cruzar também

                        Entendeu mais ou menos?

                         

                        A ideia é cruzar tudo isso e retornar lista de quem não marcou ponto x horário x dia da semana

                          • Re: Lista de funcionários x marcação de ponto
                            Pedro Pazini

                            Em Excel eu imaginei algo assim, o que for OK eu desconsidero, pois vou tratar apenas o que gerou anomalia.

                             

                            Ficou mais claro ?

                             

                                   

                            DataCargo
                            CODIGONOMECARGODATAHORA MARCADAHORARIOTEMPOANOMALIA
                            2160JOSEMOTORISTA27/03/201807:5908:0000:01HORA EXTRA
                            2160JOSEMOTORISTA27/03/201812:0012:0000:00OK
                            2160JOSEMOTORISTA27/03/2018Não marcou13:0004:00ATRASO
                            2160JOSEMOTORISTA27/03/201818:3018:0000:30HORA EXTRA
                    • Re: Lista de funcionários x marcação de ponto
                      Pedro Pazini

                      Alguém consegue me ajudar?

                      • Re: Lista de funcionários x marcação de ponto
                        Pedro Pazini

                        Não Ricardo, essa tabela que marquei ali em cima, é como eu queria, meus horario não aparecem assim comparados certinhos para só fazer o if, meu problema está na amarração de horario marcado x horario a cumprir, me fiz entender?

                        • Re: Lista de funcionários x marcação de ponto
                          Pedro Pazini

                          UP!


                          Segue abaixo como está o meu relatório, Para cada ponto esperado ele repete a hora da marcação, como eu posso corrigir isso? Alguém tem alguma ideia?

                           

                           

                          Sem título.jpg