Hi Ali, I bet there'd be multiple solutions using macro or other event Scripts.
Check this looping script like below(also, wouldn't suggest "joins" for those multiple files, can lead to performance issues)
//get the file names
First 1 LOAD FileBaseName() as FileName
LOAD * Inline [Temp];
// loop to load all files even when all files don't have same number of fields
for i=1 to FieldValueCount('FileName');
let vFileName = FieldValue('FileName',$(i));
if(len(contract_id)>1,'vFileName') as MARQUE
DROP Table Nfile;
DROP Field Temp;
If the brands are to be in Rows.
Then you can use Crosstable(): https://community.qlik.com/blogs/qlikviewdesignblog/2014/03/24/crosstable
and consider incremental load if the file updates frequently.