Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Posting on Qlik Community is temporarily paused. Thank you for patience and we'll update you soon!
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
Partner Ambassador/MVP
Partner Ambassador/MVP

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
Partner Ambassador/MVP
Partner Ambassador/MVP

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
Partner Ambassador/MVP
Partner Ambassador/MVP

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
Partner Ambassador/MVP
Partner Ambassador/MVP

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!