Oi, Suellen! Tudo certo?
Desde já, peço desculpas por demorar a te responder.
Ao tentar criar a sua função, recebi como resposta o erro 1418. Caso esse tenha sido o problema que te impediu de finalizar a atividade, podemos contorná-lo adicionando as seguintes cláusulas no início da criação da função: DETERMINISTIC e READS SQL DATA, desta forma:
CREATE DEFINER=`root`@`localhost` FUNCTION `causas_calculo`() RETURNS varchar(50) CHARSET utf8mb4
    READS SQL DATA
    DETERMINISTIC
BEGIN
    DECLARE ENGAJAMENTO VARCHAR (200);
    DECLARE FOME VARCHAR (100);
    DECLARE AMAZONIA VARCHAR (100);
    DECLARE SECA VARCHAR (100);
    DECLARE TOTAL VARCHAR (100);
    SET ENGAJAMENTO = 'valor_engajamento';
    SET FOME = 'valor_fome';
    SET AMAZONIA = 'valor_amazonia';
    SET SECA = 'valor_seca';
    SET TOTAL = CONCAT(ENGAJAMENTO, FOME, AMAZONIA, SECA);
    SELECT COUNT(*) INTO TOTAL FROM CAUSAS;
    RETURN TOTAL;
END
O erro 1418 geralmente acontece quando não identificamos a natureza da função que está sendo criada, esta é uma forma de manter a integridade e a segurança das nossas informações e das estruturas que compõem o banco de dados. Ao adicionar READS SQL DATA e DETERMINIST, dizemos, respectivamente, que a função causas_calculo() realizará operações de leitura e sempre terá o mesmo comportamento — ou seja, acabamos de definir a natureza da função!
Feito isso, já podemos confirmar a criação e chamar a função, assim:
SELECT causas_calculo();
Suellen, espero ter ajudado! Caso este não seja o problema que lhe apareceu, peço que observe o erro retornado e o compartilhe com o fórum. Desta maneira, conseguimos analisar de forma mais direcionada e assertiva o que está impedindo a criação da função causas_calculo().
Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!