As Miles indicated, there is no direct way of doing this via performance equations.
In ProcessBook you could add a few extra datasets to indicate which is the maximum and then use some VBA to get the name, for example...
Dataset: MAX_TRANSFORMER
MAX ('Transformer 1', 'Transformer 2', 'Transformer 3', 'Transformer 4', 'Transformer 5')
What you could then do is have 5 datasets that equal 1 if the value matches the max() value, then you can multistate the text on your ProcessBook display.
Dataset: TRANSFORMER1_ISMAX
if 'Transformer 1' = MAX ('Transformer 1', 'Transformer 2', 'Transformer 3', 'Transformer 4', 'Transformer 5') then 1 else 0
...
Dataset: TRANSFORMER5_ISMAX
if 'Transformer 5' = MAX ('Transformer 1', 'Transformer 2', 'Transformer 3', 'Transformer 4', 'Transformer 5') then 1 else 0
Then say you have 5 value symbols on your display showing Transformer 1 to 5, multistate each in turn so that if it is 1 then colour is Red and all other states are black. Assign 3 states, 0->0.9999 Black, 0.9999->1 Red, >1 Black.
Finally, if the visual aid from the multistates wasn't enough you could run some VBA:
Code:
Dim sMaximum As String: sMaximum = ""
Dim MState As MultiState
Set MState = Transformer1.GetMultiState()
If MState.CurrentState = 1 Then
' Maximum
sMaximum = sMaximum & Transformer1.GetTagName(1) & ","
End If
'...
Set MState = Transformer5.GetMultiState()
If MState.CurrentState = 1 Then
' Maximum
sMaximum = sMaximum & Transformer5.GetTagName(1) & ","
End If
Debug.Print sMaximum
As you can see, some effort for something so simple. If might be an idea to have such datasets as performance equation tags running on the PI server, especially if you are going to be doing this for batches of transformers then processbook is just visualising, and not calculating.
Hope this helps...
Principal Consultant
Real-Time Data Management @ Wipro Technologies