EXAMPLE - SUMIF and COUNTDISTINCTIF Functions

This example illustrates how you can use the following conditional calculation functions to analyze polling data:

  • SUMIF - Sum of a set of values by group that meet a specified condition. See SUMIF Function.
  • COUNTDISTINCTIF - Sum of a set of values by group that meet a specified condition. See COUNTDISTINCTIF Function.

Source:

Here is some example polling data across 16 precincts in 8 cities across 4 counties, where registrations have been invalidated at the polling station, preventing voters from voting. Precincts where this issue has occurred previously have been added to a watch list (precinctWatchList).

totalReginvalidRegprecinctWatchListprecinctIdcityIdcountyId
73124y111
74329y211
8740 321
9830 421
62229 532
6930 632
77537y742
102549y842
78713 953
3420 1053
34239y1163
38728y1263
58259 1374
2440 1474
9406y1584
9014y1684

Transform:

First, you want to sum up the invalid registrations (invalidReg) by city:

derive type:single value:SUMIF(invalidReg, precinctWatchList == "y") group:cityId as:'invalidRegbyCityId'

The invalidRegbyCityId column contains invalid registrations across the entire city. Now, at the county level, you want to identify the number of precincts that were on the watch list and were part of a city-wide registration problem. This step performs an aggregation:

pivot value:COUNTDISTINCTIF(precinctId, invalidRegbyCityId > 60) group:countyId limit:1

Results:

countyIdcountdistinctif_precinctId
10
22
32
40

The voting officials in counties 2 and 3 should investigate their precinct registration issues.

Was this page helpful? Let us know how we did:

Send feedback about...

Google Cloud Dataprep Documentation
Need help? Visit our support page.