Oi, Rodrigo, tudo bem?
Peço desculpas pelo tempo que aguardou por uma resposta.
O PROC FREQ
é usado no SAS para analisar a frequência de ocorrência de valores. Como neste caso o nosso foco é realizar a soma de NR_DURACAO
conforme NM_ASSUNTO
, não é necessário usar PROC FREQ
.
Uma forma é trabalhar diretamente com PROC SQL
, desta forma:
proc sql;
create table resultado as
select NM_ASSUNTO, sum(NR_DURACAO) as total_duracao
from dados
group by NM_ASSUNTO;
quit;
Acima, temos um exemplo segundo as informações que você compartilhou. A partir de um conjunto de dados, realizamos um SELECT
, apresentamos cada assunto (NM_ASSUNTO
) e utilizamos SUM()
para somar as durações. No final, realizamos um agrupamento levando em conta os dados contidos em NM_ASSUNTO
.
Outra maneira de resolver o mesmo problema é utilizando PROC MEANS
(comum na análise de estatísticas descritivas, como soma, média, mínimo, máximo etc). Observe o código abaixo:
proc means data=dados sum;
var NR_DURACAO;
class NM_ASSUNTO;
output out=sum_dados sum=TOTAL_SEC;
run;
Aqui, estamos utilizando NM_ASSUNTO
como variável de classificação, a partir dela, somaremos os valores presentes em NR_DURACAO
.
output out=sum_dados sum=TOTAL_SEC
especifica o nome do conjunto de dados de saída como sum_dados
e define o nome da variável de saída como TOTAL_SEC
. A saída conterá as somas calculadas!
Ao visualizarmos o resultado, veremos uma tabela com uma coluna apresentando a frequência de NM_ASSUNTO
e outra com as somas de NR_DURACAO
(além de uma coluna com os assuntos).
Rodrigo, espero que isso possa te ajudar! Contudo, vale ressaltar que como é um assunto externo aos cursos da Alura e que não tenho acesso ao cenário completo do seu projeto, outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema!
Um forte abraço.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!