Вы можете вносить изменения в данные, прежде чем устанавливать их в dataSource. Например, если вы получаете данные http как наблюдаемые, вы можете сделать:
this.data$ = this.certificateService.certificates$.pipe(
map(data => {
data.column5 = data.column4 // and make all other calculations
return data;
})
);
Затем вы можете подписаться на данные и установить их в источнике данных
this.data$.subscribe(data => {
this.dataSource = new MatTableDataSource(data)
})