0 - 3 of 3 tags for dynamic random sample

I have a table TXN that has Transaction_ID and Store_nbr. Suppose also that I have a table SAMP that has Store_nbr and n_samples.
Suppose I want to take a sample of n_samples Transaction_IDs from TXN. I.e., I want the SAMP table to be able to drive how many transaction_id samples are taken from the TXN table. E.g.,

I'm developing a query to return a pseudo-random sample with the following characteristics:
- The number of LOC_ID records returned in the sample should be proportional to the percent of that LOC_ID overall (for the specified date range)
- The returned records should be unique
- It should return different records each time it runs

I am attemptingĀ  to extract Control Groups in our Automated Batch. The table in the batch I hope to extract from contains a Communication_ID and a Customer_id. Each night the no of COMMUNICATION_IDs and CUSTOMER_IDs will vary.