I used to run a PCA model for >50 markets (global cross-asset) that we used to use to identify and quantify macro risk factors, so I know it can be done. We used to use it to objectively define "risk-on, risk-off", "the QE monotrade", "dollar-vs-EM&Commodityness" etc.
I'm no bond/rates expert, but I'm surprised you'd want to PCA Pv01 rather than eg the shape of the curve (ie levels) or yield/price moves (ie changes). Isn't Pv01 a sensitivity measure, basically already a function of duration? I'm not sure why you'd want to analyse duration vs f(duration); but happy to revise what follows in light of a good reason ;-)
The process formally is little more than pulling out the eigenvectors of the matrix of whatever you're trying to PCA. If you want to give each sample member equal influence in the model, you should use the correlation matrix. If you want to capture the maximum noise possible, use covariance.
To calculate the risk signals, the next step is to sum the product of each bucket's metric by its respective PCA weight (the eigenvectors). Or if using correlation, sum(metric * weight / metric vol). That was my multi-asset "risk-on". On a traditional curve model, it would be "duration". Etc.
Quick important check - run a correlation table of your PCA signals against each other. If it's not 1s on the diagonal and 0 everywhere else, something has gone wrong. If it is, but it doesn't make any sense, then you're accurately measuring something different from what you think you are or wish to measure. With this profile of factor independence, it's easy to do a ((X'X)-1)(X'Y) multiple regression of your original values against your risk factors, confident in the absence of multicollinearity issues.
What most people then tend to use PCA for is to use the dimensionality reduction to compare the broad sample against the "normal pattern" of the sample, often to highlight anomalies. I used to know with precision how much a +/-1 sigma shock to "risk-on" or "liquidity-off" was worth to the S&P, AUDJPY, HY CDX spreads or the German 2s10s curve. Or a classic rates PCA might suggest a level, steepness, and belly-vs-wings for the curve. Given these based on everything else, the 5y1y, the 3m7y, or the 11y2y should trade at X, Y, and Z respectively (vs actuals, which is what I'm obviously goigng to then flag up to my boss).
To recap:
1- think carefully about what you're actually seeking to measure, and why. Pick between correl and covar.
2- calculate the eigenvectors.
3- sum of these * values (standardised if correl) = risk factor value
4- check these are indepedent of each other
5- for each input, regression value vs risk factors
6- you now have an optimised description of your broad input universe based on as few dimensions as you desire.
happy to revise and explain if anything doesn't make sense.