Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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á.
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
Use:
Aggr(Sum ( {<Oportunidade_Fase = {'Fria','Quente','Morna'},Oportunidade_Data_Ano_Fase ={">=$(vAnoAtual)"}
)>} Oportunidade_Metros_Quadrados),
Oportunidade_Id)
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)
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)
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...
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.
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.
Se alguem poder agregar mais algum conhecimento ou alternativa pra resolução do problema,
Agradeço
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
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