Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

caiqueeloy93
New Contributor III

Problemas ao tentar fazer um SET ANALISE pra trazer só ID distinct

Ola Senhores e Senhoras, Boa tarde a todos.

Seguinte estou com um problema pra "setar" que ele só busque os metros quadrados se o ID for distinct...

O código seria :

Sum ( {<Oportunidade_Fase = {'Fria','Quente','Morna'},Oportunidade_Data_Ano_Fase ={'>=$(vAnoAtual)'},distinct(Oportunidade_Id

)>}  Oportunidade_Metros_Quadrados)

ps: sei que está errado o código já que não gera gráfico algum mas só pra os senhores entender mais ou menos a logica do que estou querendo fazer...

Sem o ID distinto DOBRA a metragem por isso precisava setar isso, mas não sei como ! já tentei na carga e com SET analise mas não obtive exito...

Obrigado desde já.

1 Solution

Accepted Solutions
Highlighted
pablolabbe
Valued Contributor II

Re: Problemas ao tentar fazer um SET ANALISE pra trazer só ID distinct

Olá Caique,

Uma observação, não se usa virgula junto com o distinct.  Quanto a expressão que o Thiago sugere, eu faria o seguinte ajuste:

sum(

  Aggr(max( {<Oportunidade_Fase = {'Fria','Quente','Morna'},Oportunidade_Data_Ano_Fase ={">=$(vAnoAtual)"})>}

  Oportunidade_Metros_Quadrados), Oportunidade_Id)

)

o uso do max dentro do aggr "simula" a busca distinta do valor por Oportunidade_Id.

e o sum mais externo faz o somatorio dos valores encontrados por Oportunidade_Id.

Abraço,

Pablo

12 Replies
thiago_justen
Valued Contributor III

Re: Problemas ao tentar fazer um SET ANALISE pra trazer só ID distinct

Use:

Aggr(Sum ( {<Oportunidade_Fase = {'Fria','Quente','Morna'},Oportunidade_Data_Ano_Fase ={">=$(vAnoAtual)"}

)>}  Oportunidade_Metros_Quadrados),

Oportunidade_Id)

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
caiqueeloy93
New Contributor III

Re: Problemas ao tentar fazer um SET ANALISE pra trazer só ID distinct

Boa tarde Thiago,

Não conhecia a função Aggr obrigado pelo novo conhecimento,

Porém não consegui ! Cheguei a colocar o distinct e mesmo assim não consegui...

Aggr(Sum({<Oportunidade_Fase = {'Fria','Quente','Morna'},Oportunidade_Data_Ano_Fase ={">=$(vAnoAtual)"})>} Oportunidade_Metros_Quadrados),distinct Oportunidade_Id)

thiago_justen
Valued Contributor III

Re: Problemas ao tentar fazer um SET ANALISE pra trazer só ID distinct

Veja, não é preciso o uso do distinct aí...

Pergunta: como está o cálculo da variável vAnoAtual? Pois uma alternativa seria:

Aggr(Sum ( {<Oportunidade_Fase = {'Fria','Quente','Morna'},Oportunidade_Data_Ano_Fase ={">=$(=Year(Today()))"}

)>}  Oportunidade_Metros_Quadrados),

Oportunidade_Id)

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
caiqueeloy93
New Contributor III

Re: Problemas ao tentar fazer um SET ANALISE pra trazer só ID distinct

A variavel esta definida dessa forma mesmo que você colocou : =Year(Today())

O uso do distinto não é preciso porque ele é default ?

Mesmo da forma colocada agora não foi

Não dá pra entender o pq não vai kk a logica ta certa...

thiago_justen
Valued Contributor III

Re: Problemas ao tentar fazer um SET ANALISE pra trazer só ID distinct

Veja:

Seu campo Oportunidade_Data_Ano_Fase apresenta somente o ano ou está em formato dd/mm/yyyy?

Se você puder, poste aqui um qvf ou qvw de exemplo que agente verifica outros detalhes.

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
caiqueeloy93
New Contributor III

Re: Problemas ao tentar fazer um SET ANALISE pra trazer só ID distinct

Segue a carga de dados nivel graficos :

[Oportunidades]:

LOAD

[Oportunidade_Id],

[Oportunidade_Nome_Cliente],

[Oportunidade_Metros_Quadrados],

[Oportunidade_Consultor_Id],

MONTHNAME([Oportunidade_Data_Fase]) AS [Oportunidade_Data_Fase],

[Oportunidade_Data_Ano_Fase],

DATE([Oportunidade_Data_Fase_Dia_Mês_Ano],'DD/MM/YYYY') AS [Oportunidade_Data_Fase_Dia_Mês_Ano],

[Oportunidade_Tipo],

IF(ISNULL(Oportunidade_Proposta_Sincronizada) , 'Não Sincronizada'

,Oportunidade_Fase) AS Oportunidade_Fase,

[Oportunidade_Id_Grupo],

[Oportunidade_Id_Departamento_Grupo],

IF(Oportunidade_Departamento_Grupo = 'Consultor_Comercial_Nordeste' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_RJ_ES' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_SP' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_Sul' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_Centro_Oeste' OR

    Oportunidade_Departamento_Grupo = 'Coordenador_Comercial' OR

    Oportunidade_Departamento_Grupo = 'Contas_Nacionais' OR

    Oportunidade_Departamento_Grupo = 'Coordenador_Comercial' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_MG' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_Norte'

    ,[Oportunidade_Departamento_Grupo],'Outros')

    AS [Oportunidade_Departamento_Grupo],

IF(Oportunidade_Departamento_Grupo = 'Consultor_Comercial_Nordeste' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_RJ_ES' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_SP' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_Sul' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_Centro_Oeste' OR

    Oportunidade_Departamento_Grupo = 'Coordenador_Comercial' OR

    Oportunidade_Departamento_Grupo = 'Contas_Nacionais' OR

    Oportunidade_Departamento_Grupo = 'Coordenador_Comercial' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_MG' OR

    Oportunidade_Departamento_Grupo = 'Consultor_Comercial_Norte'

    ,[Oportunidade_Nome_Consultor],'Outros')

    AS [Oportunidade_Nome_Consultor],

IF(Oportunidade_Gerencia = 'SERGIO' or Oportunidade_Gerencia =  'SILVIA',Oportunidade_Gerencia,'OUTROS') AS Oportunidade_Gerencia,

[Oportunidade_Filial]

FROM [lib://comercial_01/Oportunidade.qvd]

(qvd);

EXIT SCRIPT;

Segue a carga de dados QVD:

LIB CONNECT TO 'Salesforce_BULK';

[Oportunidade]:

LOAD "Id" AS  [Oportunidade_Id],

"Cliente__c" AS  [Oportunidade_Nome_Cliente],

"Metros_quadrados__c" AS  [Oportunidade_Metros_Quadrados] ,

"StageName" AS  [Oportunidade_Fase],

    "CreatedById" AS  [Oportunidade_Consultor_Id],

    "CloseDate" AS  [Oportunidade_Data_Fase],

    YEAR("CloseDate") AS  [Oportunidade_Data_Ano_Fase],

    "CloseDate" AS [Oportunidade_Data_Fase_Dia_Mês_Ano],

    "Tipo_de_oportunidade__c" AS  [Oportunidade_Tipo],

    "Proposta__c" AS  [Oportunidade_Proposta_Sincronizada],

    "Gerencia_negociacao__c" AS [Oportunidade_Gerencia],

    "Filial__c" AS [Oportunidade_Filial];

SELECT Id,

Cliente__c,

Metros_quadrados__c,

StageName,

    CreatedById,

    CloseDate,

    Proposta__c,

Tipo_de_oportunidade__c,

    Gerencia_negociacao__c,

    Filial__c

  

FROM Opportunity;

JOIN

LOAD "Id" AS  [Oportunidade_Consultor_Id],

IF(IsActive = '0','Outros',"Name") AS  [Oportunidade_Nome_Consultor],

"UserRoleId" AS  [Oportunidade_Id_Departamento_Grupo];

   

SELECT Id,

Name,

    IsActive,

    UserRoleId

FROM User;

JOIN

LOAD "Id" AS  [Oportunidade_Id_Grupo],

     "DeveloperName" AS  [Oportunidade_Departamento_Grupo],

"RelatedId" AS  [Oportunidade_Id_Departamento_Grupo] ;

SELECT Id,

DeveloperName,

RelatedId

FROM Group;

STORE * FROM Oportunidade INTO [lib://comercial_01/Oportunidade.qvd] (qvd);

EXIT SCRIPT;

Obrigado mais uma vez.

caiqueeloy93
New Contributor III

Re: Problemas ao tentar fazer um SET ANALISE pra trazer só ID distinct

Se alguem poder agregar mais algum conhecimento ou alternativa pra resolução do problema,

Agradeço

Highlighted
pablolabbe
Valued Contributor II

Re: Problemas ao tentar fazer um SET ANALISE pra trazer só ID distinct

Olá Caique,

Uma observação, não se usa virgula junto com o distinct.  Quanto a expressão que o Thiago sugere, eu faria o seguinte ajuste:

sum(

  Aggr(max( {<Oportunidade_Fase = {'Fria','Quente','Morna'},Oportunidade_Data_Ano_Fase ={">=$(vAnoAtual)"})>}

  Oportunidade_Metros_Quadrados), Oportunidade_Id)

)

o uso do max dentro do aggr "simula" a busca distinta do valor por Oportunidade_Id.

e o sum mais externo faz o somatorio dos valores encontrados por Oportunidade_Id.

Abraço,

Pablo

caiqueeloy93
New Contributor III

Re: Problemas ao tentar fazer um SET ANALISE pra trazer só ID distinct

Olá pablo, muito obrigado pela ajuda e conhecimentos passados,

mas ainda não consegui, não exibi nenhum dado após adicionar a programação sugerida...

A respeito do SUM externo se foi isso que entendi ele soma o ID distintos certo ? mas na verdade minha intenção é somar o Oportunidade_Metros_Quadrados, é necessário o distinto pois a metragem está se triplicando do valor real por um motivo especifico de processos da empresa...

Agradeço novamente pela ajuda ...

Abraço