You have to mention all of the fields that are supposed not to be aggregated (all except Weight in the above case).
group by is a clause used for defining over which fields the data should be aggregated (grouped). The aggregation fields should be included in some way in the expressions loaded. No other fields than the aggregation fields may be used outside aggregation functions in the loaded expressions.
Thanks for your answer,whiteline!!
sum(Weight) as type_sum_weight
resident FACT Group by Year,Month,Direction,TradeMark,Type,Company, State,Channel;