Sorry, I don't really get what you want to achieve.
Why do you group by order no, since there seems to be only 1 record per order no?
And why is MaxString(Value) not working for Indicator field?
If you use a group by clause, you would need aggregation functions for all fields not listed in the clause.
You can use Only() as aggregation if that's appropriate:
if(match(MaxString(Inst), 'PT') OR Index(Only(Indicator),'PP'), 'Y', 'N') as Flag
It looks like you have more than one row per order. I think concat() would be any easier approach:
LOAD [Order No],
OR wildmatch(concat(Indicator,','), '*PP*') , 'Y', 'N') as Flag
Group By [Order No];