BigQuery date partitioned tables can limit the data scan by partitions to help keep the query cost low and improve query performance. However, Google's documents do not give much clue how to use partitioned tables to create views that support partition queries. I did some research and found the way to do it, even with views that are created from joining partitioned tables.
Update: After posting this article, a friend from Facebook pointed out that the list of advertisers are companies provided personal info to match my Facebook info to run targeting campaigns, instead of Facebook giving away the contact info to these companies. However, I see companies I have never heard of and they are not in Australia from some quick Google searches. If that's the case, how these companies got my email address or some kind of identifier in the first place is truly worrying.
Facebook sells your data to advertisers to run marketing campaigns targeting you, that's no news. Finally, a company called Cambridge Analytica abused it enough to make the headlines last week. This article gives a good summary of what's going on: EVERYTHING YOU NEED TO KNOW ABOUT FACEBOOK AND CAMBRIDGE ANALYTICA
I am wondering how many advertisers actually have my data over these years through Facebook. It turns out that my contact info was sold to 69 companies by Facebook. If you are wondering how many advertisers have your contact info, here is the way to find out in just few minutes.