I just ran into a concrete example of why this missing function is crucial. Because LM does not support multiple parallel thresholds, it is sometimes necessary to create a virtual datapoint that remaps values to a virtual alert datapoint. Yet, it is impossible to reference the underlying datapoint in the alert template and the alerting datapoint imparts little useful information other than severity.
Here is the use case I have right now -- out of the box, LM has no datasource to detect a Catalyst 4K/6K supervisor redundancy failure (and, as it turns out, anything Cisco IOS-like properly uses this MIB, include wireless LAN controllers in SSO mode). I created one based on a previous plugin we used in Nagios, but unfortunately the various states are not linearly mapped as would be required for the existing threshold mechanism. As a result, I had to construct this:
if(or(lt(PeerUnitState,4),and(gt(PeerUnitState,4),lt(PeerUnitState,9))),2,if(or(eq(PeerUnitState,9),eq(PeerUnitState,14)),0,1))
The alerting DP maps "normal" to 0, "error" to 1, and "critical" to 2. The right thing to include in the alert template is the value of UnitState and PeerUnitState so those could be cross-referenced against the table of possible values, but it is impossible in the current product.
Please make it a priority to fix this problem.