There is a limitation in Key Paritioning in data flow. It doesnt allow dynamic expressions in key field.
If you want to use such dynamic expressions, you can use a derived column and use that in the paritition key field. But not directly on the key field.
Below thread discusses a similar issue where we use data flow parameter for key column.
Below are my test data.
If i try to use month(toDate(date)) in the partition key column directly, i am getting same error as yours. So I add a derived column and then use the expression there as follows.
Please check and let us know for any question.
Thanks