Consegui resolver o problema do dataset que continha dados duplicados, para isso precisei criar uma função e uma estrutura condicional booleana para resolver esse problema. Caso alguém tenha esse mesmo problema futuramente, pode teste essa solução...
function createDataset(fields, constraints, sortFields) {
var dsRepresentanteSAC = DatasetBuilder.newDataset();
var FtRepre = null;
var repeticao = new java.util.ArrayList();
dsRepresentanteSAC.addColumn("Representante");
log.info("<<< passou aqui >>>");
var filtro = DatasetFactory.createConstraint("metadata#active","true", "true", ConstraintType.MUST);
var datasetColaborador = DatasetFactory.getDataset("DSFormulariodeReclamacaoSAC", null, new Array(filtro), null);
for (j = 0; j < datasetColaborador.rowsCount; j++){
var colabRepre = datasetColaborador.getValue(j, "representante");
if(colabRepre != null && colabRepre != ""){
log.info("<<< passou aqui >>>"+ colabRepre);
if (dsRepresentanteSAC.rowsCount == 0){
dsRepresentanteSAC.addRow(new Array(colabRepre));
repeticao.add(colabRepre);
}else{
retBusca = BuscaString( repeticao, colabRepre );
if (retBusca == -1){
dsRepresentanteSAC.addRow(new Array(colabRepre));
repeticao.add(colabRepre);
}
}
log.info("<<<Valor do array>>>"+ repeticao);
}
}
return dsRepresentanteSAC;
}
function BuscaString(lista, busca) {
for ( i = 0; i < lista.size(); i++)
if (lista.get(i).contains(busca))
return i;
return -1;
}