The good news is when we drag the timeline at least #ZHR# changes value but there's two bad news (newses?). LOL two points of bad news.
1. ZHR doesn't move far enough to hit either 50 or 200 values so we'll have to formula our way into the gauge sweep with no testing.
2. When you drag the timeline, ZHR doesn't move in a linear fashion (like steps). It kind of hops all over the place.
Let's just look at your numbers since we can't do it live. You want the pointer to swing clockwise from 315-degrees (10:30) to 45 degrees (2:30). That's a quarter of a circle - a 90 degree swing. Likewise, you want to move 50 to 200 points of ZHR value, that's 150 point increase clockwise. In short, you want a 150 point increase in 90-degree clockwise swing. 90 divided by 150 is 0.6. So, each increasing value of (1) on ZHR needs to move the needle 0.6 degrees clockwise. Fine.
Ok then, where does the starting value land? Your lowest value 50... times 0.6 degrees = 30 degrees. That's at 2:00 but we don't want to start at 2:00, we want to start at 10:30 or 315 degrees, which is also -45 degrees. So let's backup that pointer by 75 degrees. 30 degrees (2:00) minus 75 = -45 degrees (10:30).
Then here's a formula.... ([value] * 0.6) - 75
Does it work for the starting point? (50 * 0.6) - 75 = -45 degrees. Yes it works. That's 10:30.
Ok then how about your top value of 200? hopefully it lands on positive 45 degrees (2:30).
Your max point: (200 * 0.6) - 75 = 45 degrees. Yes, the formula still works. That's 2:30.
So then there you go: the [value] is #ZHR#. Use this formula in the rotation field of your pointer in your ZHR gauge:
((#ZHR# * 0.6) - 75)
Hopefully my narrative helps to show you how I think about these things when I'm building them. If the formula works for your min and max, and the value movement is linear, then it must work for all values in-between.
EDITED: watch moved down lower in thread