Dear Stata experts,

I have a sample of firms committed fraud. It has 1,700 observations. The format is something like below:

Code:
* Example generated by -dataex-. To install: ssc install dataex
clear
input byte firm int year str1 industry byte province int assets byte fraud
1 2001 "A" 11 100 1
2 2002 "B" 22 110 1
3 2003 "C" 33 100 1
end
And I have another sample of firms that did not commit fraud. It has 35,000 observations. The format is the same as above. Every variable is the same. Just the value for "fraud" in this sample are all equal to "0". It looks like this:

Code:
* Example generated by -dataex-. To install: ssc install dataex
clear
input byte firm int year str1 industry byte province int assets byte fraud
4 2001 "A" 11 110 0
5 2002 "B" 22 110 0
6 2003 "C" 33 120 0
end

What I wanted to do is to use the fraud sample with 1,700 observations to match the non-fraud sample. For each firm committed fraud in a certain year, I want to find a non-fraud firm within the same year, same industry, same province, and with similar assets (let's say +/-30%). So, idealy, I will have a dataset contains 3,400 observations, half are fraud firms, half are non-fraud firms. I tried to use joinby syntax but somehow I couldn't combine the "fraud" variable. Could you please help me out? Thank you so much!!