How it is possible that correlation failure happens for few virtual users?
The correlation errors are closely related to the responsiveness of the application. One such example of this would be, say , if the second request is triggered before the response for the first request is delivered / addressed by the application. It could also be a case where few of the values in the response is dynamic in nature and the application does not expect the same every time.
As said, there could be multiple reasons for data correlation errors that are specific to the application (assuming that the schedule is designed perfectly fine in RPT).
Here's a small video embedded in the Rational Performance Tester (RPT) Knowledge Center which describes one scenario where data correlation can be handled and its occurrence.
However, if you find that the automatic data correlation handling performed by RPT does not account all the required values to be correlated, then you may perform manual correlation of the data. For that, you have to trace the dynamic data in response and create reference and then substitute the dynamic value with that reference.
Preferably, one would like to start at the substitution site. Highlight the value right click and say Substitute -> Select Data Source.
Make sure to check the button include potential matches, and RPT will find all the places in the response where that value exists and show them to you. You can then pick the one you want and RPT will create a reference for you. You can edit the properties of the reference if the regular expression is not unique enough for you. RPT is built on regular expressions for harvesting the data. Also, in the latest version of RPT there are data correlation rules that you can apply to a test. So, if your dynamic value has a definite pattern you can write a rule for that correlation. You can then apply the rule set to each test your record and the correlations will be made automatically for you.