Action Groups - Multiple Steps

I want to create one action group for a few hundred albums I have.
Filename is: 01 - John Doe - My Song 2020.

I want to separate all of this information into the different columns. The year is working, and removing the year from the filename. I get the artist, title, genre and track from the filename. I don't get albumartist from the artist field, and the filename isn't renamed with artist - title. The mixed case is working.

Any suggestions on where I am getting hung up? I really want to keep this as one click and done.
Format Value "year": $right(%_filename%,4)
Format value "_filename": cutRight(%_filename%,5)
Guess Values "_filename":%track% - %artist% - %title%
Guess Values "%artist%": %artist%~%albumartist%
Regular expression "_all": "&" -> "&"
Format Value "%_filename%": %artist% - %title%
Format Value "track": $num(%track%,1)
Format Value "track": $if(%track%,$num(%track%,1),)
Regular Expression "genre": "Other" -> "Oldies"
Format Value "Album": "My MixTape"

Looking at this, could this: Format Value "%_filename%": %artist% - %title% be the problem?

I think that MP3tag executes filename operations always last irrespective of their position in an action group.
So I would shorten TITLE
Format Value "year": $right(%_filename%,4)
Guess Values "_filename":%track% - %artist% - %title%
Format value "TITLE": cutRight(%title%,5)

For TITLE, I am now getting 01 - John Doe - My Song
Still no Albumartist, and the Filename stays the same.

I do not see where you set TITLE except the guess value action - but that either works completely or it does not at all.
So could you show what the action group looks like now?

I think that steps 2, guess value from filename and step 3 get the FILENAME minus the last 5 characters is where problems may arise.
Stipulated, that the guess value from the filename has worked would lead to a TITLE with

but then you use the _FILENAME as source to remove the last 5 characters.
This would lead to

I suggest that you use $cutright(%title%,5) in step 3 where you treat the TITLE.

Yes, I didn't catch that when I changed it to TITLE. Everything is working now except the album artist.

Looking at "John Doe" I do not see the ~ as separator - to get 2 pieces of data from a single field, it would require something like
to get an ARTIST called John and an ALBUMARTIST called Doe.
If you want to copy the contents of ARTIST to ALBUMARTIST, use
Format value for ALBUMARTIST
Format string: %artist%

Perfect. Thank you very much for your help. Hope you are staying safe during these times. Now my eyes won't burn so much at the end of the day. :grinning: