Not sure why you want to try to use that fragment as a starting point.
Assuming that “ancnumber” is “ancestry number” and 720 is the code for filipino, the following will give the answer:
count(*) as TotalPopulation,
cast ((100.0 * tmp.Filipinos / count(*)) as decimal(5.2)) as PercentFilipinos
( select count(*) as Filipinos from popdata where ancnumber = 720) tmp
group by tmp.Filipinos
While there are ways to mix aggregate functions across entire tables against aggregate functions within subsets of rows, unless there is some special reason, doing aggregates on subsets is often easier as a subquery and then join the subquery with the main data set for the result.