3 Replies Latest reply: Mar 24, 2018 7:50 AM by Thiago Justen Teixeira RSS

    Maneira correta de mapear redundâncias

    Jhonatan Vinicius Paulino de Morais

      Pessoal, eu estou aprendendo sobre o qlik e estou ficando incomodado com alguns conceitos (mapeamento não-redundante / chave sintética ) que são novos para mim no contexto do qlik.

       

      fiz outra thread ontem e alguns colegas já me ajudaram na solução. mas continuo desconfortável com o resultado obtido.

      Situação atual

       

      Preciso mapear estas duas entidades no qlik:

       

      m1.png

       

       

      Eu segui as orientações dos colegas e consegui fazer isso de duas maneiras:

       

      Maneira 1: Importando a tabela users duas vezes mas com nomes distintos.

      m2.png

      Resultado: Funciona! Mas com isso estou repetindo os dados da tabela users duas vezes.

      Isso é certo? sempre devo seguir este tipo de solução?

       

      O script utilizado foi o seguinte:

       

      LOAD id as issue_author_id, 
      login as issue_users_authors_login,
          firstname as issue_users_authors_firstname,
          lastname as issue_users_authors_lastname,
      status as issue_users_authors_status;
      
      
      [issue_users_authors]:
      SELECT "id", 
      "login", 
          "firstname",
          "lastname",
      "status" 
      FROM "public"."users" WHERE status = '1' ; 
      
      
      
      
      LOAD id as issue_assigned_to_id, 
      login as issue_users_assigned_login,
          firstname as issue_users_assigned_firstname,
          lastname as issue_users_assigned_lastname,
      status as issue_users_assigned_status;
      
      
      [issue_users_assigned]:
      SELECT "id", 
      "login", 
          "firstname",
          "lastname",
      "status" 
      FROM "public"."users" WHERE status = '1' ; 
      

       

       

      Maneira 2: Importando a tabela users com a coluna id duplicada e alias distintos.

       

      m3.png

      Resultado: Funciona! Mas com isso utilizando as chaves sintéticas anonimas.

       

       

      Aqui o problema é que o próprio tutorial do qlik fala para sempre que possível evitar utiliza-las, pois no logo prazo com o crescimento do volume de dados isso vai impactar na performance. 

       

      m4.png

      Fonte: Arquivo: Tutorial - Scripting for Beginners.PDF, page 30, september 2017 version

       

       

       

      Aqui esta o código utilizado:

      LOAD id as issue_assigned_to_id, 
      id as issue_author_id,
      login as users_login,
           firstname as users_firstname,
           lastname as users_lastname,
      status as users_status;
      
      
      [issue_users_assigned]:
      SELECT "id",
      "id",
      "login", 
          "firstname",
          "lastname",
      "status" 
      FROM "public"."users" WHERE status = '1' ;
      

       

       

      Enfim, qual é o modelo mais assertivo de se trabalhar?

       

       

      Como vocês viram acima a questão aqui não é mais apenas resolver a situação e sim entender qual é a melhor ou a maneira mais recomendada de se resolver esta situação.

       

      Gostaria muito de saber a opinião de vocês. Obrigado.