Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Colunas de uma tabela não disponíveis após carga de dados

Prezado(a)s,

sou um usuário recente do Qlink Sense (2.02). Estou enfrentando o seguinte problema: após alterar um script e efetuar a carga dos dados, algumas colunas que eu havia incluído em LOAD não são listadas para, por exemplo, a criação de uma dimensão ou medida. Observei que isso acontece com a última tabela do script. Procurei por soluções antes de postar esta mensagem, mas não obtive sucesso. Poderiam, por favor, me orientar?

Grato pela ajuda.

Rômulo.

Labels (1)
10 Replies
vinafidalgo
Partner - Creator
Partner - Creator

Verifique se não existe o comando Exit Script; em algum ponto do seu código.

Se puder, poste o script de carga para eu avaliar por favor.

Not applicable
Author

Prezado Vinícius, primeiramente agradeço pela atenção. Segue o script:

[Pedidos]:

LOAD

    "vendedor" as [Código do representante],

    "cliente"  AS [Código do cliente],

    "Data",

    "Quantidade de pedidos",

    "Valor total das vendas" ;

SQL

SELECT DISTINCT

    "vendedor"        ,

    "cliente"         ,

    "data"            AS "Data",

    count(*)          AS "Quantidade de pedidos",

    sum("valor_total_vendas") as "Valor total das vendas"

FROM

(SELECT

         "vendedor",

         "cliente",

         "data",

         count(*),

         sum(totger1) "valor_total_vendas"

    FROM "tb_arqvenda"

GROUP BY "vendedor",

         "cliente",

         "data"

ORDER BY "vendedor",

         "cliente",

         "data") tb1

GROUP BY "vendedor",

         "cliente",

         "data"

ORDER BY vendedor,cliente,data;

As colunas vendedor ( [Código do representante]) e "cliente" ([Código do cliente]) não ficam disponíveis. Além disso, durante a carga de dados foram criadas chaves sintéticas (modelo em anexo).

Grato. Rômulo.

Rômulomodelo dados.jpg

vinafidalgo
Partner - Creator
Partner - Creator

Se você carregar em uma aplicação em branco só essa parte do script que me passou, funciona normalmente?

Not applicable
Author

Oi Vinícius,

sim, utilizando apenas essa parte do código de script todas as colunas aparecem. O que está me parecendo é que o problema decorre das chaves sintéticas. Antes de fazer o teste que você sugeriu, acrescentei outra tabela, que também possui as colunas código do cliente e vendedor, além de outras, com nomes totalmente diferentes de todos os demais utilizados. Nessa tabela (última) também as colunas código do cliente e código do vendedor não foram mostradas. Chave sintéticas significam erro no modelo? Como evitá-las?

Rômulo.

vinafidalgo
Partner - Creator
Partner - Creator

Também estou achando que isso está acontecendo devido às chaves sintéticas.

Sintéticas não são erros na modelagem, mas não é o melhor jeito de se construir aplicações. O ideal é que não existam tabelas sintéticas.

As sintéticas são ocasionadas por campos com o mesmo nome (mais de um) em tabelas diferentes.

Exemplo:

TABELA 1

CAMPO1

CAMPO2

CAMPO3

TABELA 2

CAMPO1
CAMPO2

CAMPO4

A sintética seria formada com os campos CAMPO1 e CAMPO2. São campos com o mesmo nome em tabelas diferentes.

Not applicable
Author

Então, Vinícius, como  fazer em situações em que isso ocorrer? Em uma aplicação não pode acontecer de certa tabela estar relacionada com mais de uma tabela? Por exemplo: tabela de clientes -> tabela de vendas; tabela de clientes -> contas recebidas.

vinafidalgo
Partner - Creator
Partner - Creator

Pode acontecer sim, é completamente normal.

Dê uma olhada nesses tópicos sobre como eliminar tabelas sintéticas:

What is synthetic keys? How it can be avoided?

QlikView – Resolving Synthetic keys | Learn QlikView

Not applicable
Author

Beleza, Vinícius! Quero lhe dizer que consegui resolver o problema. Na tabela de clientes havia uma coluna que chamei de [Chave do representante]. Essa, acredito, estava sendo "entendida" como uma chave de relacionamento com a tabela Representantes. Quando retirei essa coluna do script (em clientes), não foram geradas as chaves sintéticas.

Muito obrigado pela ajuda. Espero, com o tempo, também poder contribuir com o grupo.

Abraço.

nicolett_yuri

RomuloCS

Escolha as respostas que mais te ajudaram e marque-as para fechar o tópico