well we are using somekind of hacky workarround, but this involves some magic handled by the build tool, and the passing of some information to that build tool. like pull request key or something.
What we are doing is triggering our feature build with an pull request number, and getting the changeset information via api from the pullrequest. We parse it, and add just the changes sources to the inclusion property of sonar. in this case, we just analyse the files we changed.
There are some downsides for some plugins though, eg. spotbugs/findbugs ignores the inclusion and will still analyse the whole source code.
we also found this way not ideal, because it requires configurations on 3 different systems. but in the end, it speed up our pull request code analysis, so for us it was worth the effort.
But that is just an suggestion how you could solve that issue, althought not ideal.