Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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.
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ômulo
Se você carregar em uma aplicação em branco só essa parte do script que me passou, funciona normalmente?
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.
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.
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.
Pode acontecer sim, é completamente normal.
Dê uma olhada nesses tópicos sobre como eliminar tabelas sintéticas:
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.
Escolha as respostas que mais te ajudaram e marque-as para fechar o tópico