Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Resultado x Meta

Bom dia!

Estou começando a utilizar o Qlikview e estou com algumas dúvidas para criar alguns itens.

Peço que me ajudem, por favor.

Tenho duas tabelas, uma com o resultado realizado e outra com a meta, ambas possuem datas como sendo sempre o primeiro dia de cada mês de referência.

Estava construindo um gráfico de barras onde compara o resultado realizado (eixo y) com a meta (eixo y) de cada vendedor (eixo x), porém quando eu seleciono um mês e ano, só muda o resultado, enquanto que a meta fica acumulada de vários meses.

Para construir a lista com meses e a lista com anos, utilizei uma tabela Calendário que criei.

Como faço para ambas as datas (resultado e meta) alterarem conforme eu mexo na lista?

Muito obrigado!

1 Solution

Accepted Solutions
nicolett_yuri

Segue um exemplo simples que montei.

Acredito que seu erro estava na questão do relacionamento entre as tabelas.

O que fiz foi unir a tabela de faturamento com a tabela de carteiras, pois verifiquei que seu relacionamento era de 1 para 1.

View solution in original post

13 Replies
Not applicable
Author

Boa Tarde.

Tem como você colocar a sua carga de dados aqui ? Pelo oque entendi é algo no vinculo entre as tabelas.

Att

Not applicable
Author

Boa tarde, Carlos!

Segue a carga.

BaseFatura:

LOAD [Nome Associado],

     [Cod Associado],

     [Cod Produto],

     [Qtde Consultas],

     [Preço Unitário],

     [Valor Faturamento],

     [Data Fatura] As %Data

FROM

[Bases_Qlik\Base Faturamento.txt]

(txt, codepage is 1252, embedded labels, delimiter is ';', msq);

BaseCarteiras:

LOAD [Cod Associado],

     [Nome Associado],

     Segmento,

     Executivo,

     Carteira,

     Status

FROM

Bases_Qlik\Base_Nova_Segmentacao.txt

(txt, codepage is 1252, embedded labels, delimiter is ';', msq);

BaseMeta:

LOAD Comercial As Executivo,

  Carteira,

  Meta,

     Data aS [Data Meta]

FROM

Bases_Qlik\meta_Com.xlsx

(ooxml, embedded labels, table is Plan1);

/*LOAD

  Max([%Data]) AS MaxData,

  Min([%Data]) AS MinData

Resident BaseFatura;

LET vMaxData = Floor(Num(MonthEnd(Peek('MaxData'))));

LET vMinData = Floor(Num(Peek('MinData')));

DROP Table TMP_Data;*/

Calendario:

Load

  Num(date(Data, 'DD/MM/YYYY')) AS %Data,

  Date(Data, 'DD/MM/YYYY') AS Data,

  Day(Data) AS Dia,

  Month(Data) AS Mês,

  Year(Data) AS Ano,

  Ceil(Month(Data)/3) & ' Trim' AS Trimestre,

  MonthName(Data) AS [Mês Ano],

  DayNumberOfQuarter(Data) AS [Dia Trimestre],

  DayNumberOfYear(Data) AS [Dia Ano],

  Week(Data) AS Semana,

  Weekday(Data) AS [Dia Semana],

  If(Data<='$(vDataRef)',1,0) AS FlgRealizado,

  If(Data>'$(vDataRef)',0,1) AS FlgProjetado;

LOAD

  Date('$(vMinData)' + RecNo() - 1) AS Data

Autogenerate($(vMaxData) - $(vMinData) + 1);

Obrigado!

Not applicable
Author

Eu tentei colocar a Data Meta igual à Data Fatura, mas deu referência circular.

nicolett_yuri

Marcel, seu erro esta provavelmente na ligação com a tabela de Metas, como você informou que a meta é sempre vinculada ao primeiro dia do mês, então você deve ligar sua tabela de metas através de uma coluna de mês e ano.

Se necessário, crie essa coluna em sua tabela de metas e ligue com o mês do calendário.

Not applicable
Author

Eu criei uma coluna mês e outra ano, porém deu referência circular também.

Segue o relacionamento como ficou.

QlikView_RelacionamentoBases.png

nicolett_yuri

Junta sua tabela de BaseMeta com a tabela BaseCarteiras através de um LEFT JOIN

Isso resolve seu problema de referência circular e também do relacionamento com a meta.

Not applicable
Author

BaseMeta com BaseCarteiras não dá, pois a base carteira não tem data. Ela contém informações sobre os clientes das carteiras da equipe comercial. Enquanto que a BaseMeta tem a meta para cada carteira em cada mês.

O que eu tentei fazer foi um LEFT JOIN entre BaseFatura e BaseCarteiras, pegando informações de Carteira, Segmento, Executivo e Status. Mas não sei se é pelo tamanho da BaseFatura, que é a maior, mas nem é tão grande assim (tem aprox. 510.000 linhas), o meu pc travou.

nicolett_yuri

Se esta travando é porque tem algum erro no seu JOIN. Poderia passar o que fez?

O caminho pode ser o que te falei ou então o que você mesmo informou, caso tenha maiores dificuldades por favor disponibilize alguns qvds com dados de teste para te auxilia-lo melhor.

Not applicable
Author

Segue o JOIN que fiz e alguns qvd

LEFT JOIN (BaseFatura)

LOAD

  Carteira

FROM Bases_Qlik\Base_Nova_Segmentacao.txt

(txt, codepage is 1252, embedded labels, delimiter is ';', msq);

Obrigado!