The deal
Suns get: Tyler Johnson, Wayne Ellington
Heat get: Ryan Anderson
Get more trade grades for every deal here
Phoenix Suns: B+

Over the past couple of years, the Suns' dilemma has been whether to acquire a starting point guard or let Devin Booker take over the position. Dealing for Johnson sort of splits the difference. A combo guard capable of playing either at the point or off the ball, Johnson can share playmaking duties with Booker while retaining value as a spot-up shooter when Booker is at the controls.
So far this season, Johnson has split has minutes almost evenly between the point and the 2-guard positions, taking on the latter role as a starter recently alongside Justise Winslow. I'd expect Phoenix to use Johnson to bring the ball up and initiate the offense on a regular basis before giving way to Booker as part of the primary action.
The downside of Johnson's versatility is it's hard to identify any specific area in which he excels. He's a solid 3-point shooter but not an elite one, having hit 37 percent beyond the arc in his career but just 35 percent so far this season -- a tad worse than league average. Nonetheless, Johnson is a huge upgrade on the Suns' other ballhandling options. Even if he's not Phoenix's point guard of the future, he can solidify the position for the short term and keep the Suns from having to overpay to get one.
Ellington was included strictly to help Miami save money and has little use to a team flush with wings. ESPN's Adrian Wojnarowski reported that his agent is working with Phoenix on waiving him to sign with a playoff team. Ellington has leverage because as a player on a one-year contract with Bird rights at its conclusion, he had veto power over his inclusion in the trade.
From a financial standpoint, the Suns are probably thinking of this as paying $3.6 million next year for Johnson. That's the marginal difference between his salary and the $15.6 million Anderson was guaranteed in 2019-20 after agreeing to reduce it as part of Phoenix's trade acquiring him from the Houston Rockets. (The Suns could also have stretched Anderson's guaranteed salary to create additional cap space.)
Given Anderson wasn't a contributor at all -- after opening the season as Phoenix's starting power forward, he hadn't seen game action since December 4 -- that and Ellington's salary the remainder this season are a small price to pay to upgrade.
Miami Heat: B-

It was the Brooklyn Nets' backloaded offer sheet to Johnson, a restricted free agent whose initial salary was limited by the so-called "Arenas rule," that initially sent the Heat down their current luxury-tax path. Miami utilized the cap space created by Johnson's artificially low salary early in the deal to sign players to multiyear contracts, then went into the tax when Johnson's salary went up more than $13 million this year.
While this deal doesn't quite get the Heat out of the tax, they're close. If Kelly Olynyk indeed misses out on a $1 million incentive bonus for playing 1,700 minutes, as noted by ESPN's Bobby Marks, dealing Rodney McGruder before the deadline would probably be enough to allow Miami to avoid the tax altogether.
The Heat also reduce their 2019-20 payroll. Waiving Anderson would save Miami about $3.6 million in 2019-20 salary. Using the stretch provision on Anderson's contract would save an additional $10 million or so, likely enough to enable the Heat to get out of the tax even if Goran Dragic ($19.2 million) and Hassan Whiteside ($27.1 million) both pick up player options as expected. (A stretch would come at the cost of a $5 million cap hit on the books through 2021-22, by which point the Heat can be players in free agency again.)
On the court, it's a bit surprising to see Miami move on from its current starter at shooting guard. The Heat had a logjam in the backcourt, however, with Ellington and McGruder both falling out of the rotation in recent weeks. If Dragic returns from knee surgery shortly after the All-Star break, they should capably replace Johnson's minutes.
Miami definitely risks weakening its backcourt if another player goes down to injury at some point over the next two months of the season, but will live with that risk given the financial benefits.