How do I create a report on fields on an object, such as a contact, that are filled or not?

Use the sample SQL query as a starting point.

  1. Click Create New Analysis and select last option: Create Analysis from Simple Logical SQL.

  2. Paste the sample query below:
    SELECT
    
     0 s_0,
    
     (filter(sum("Sales - CRM Contacts"."Contact Fact"."# of Contacts") using "Sales - CRM Contacts"."Contact"."Email Address" is not null)/sum("Sales - CRM Contacts"."Contact Fact"."# of Contacts"))*100 s_1,
    
     (filter(sum("Sales - CRM Contacts"."Contact Fact"."# of Contacts") using "Sales - CRM Contacts"."Contact"."Email Address" is null)/sum("Sales - CRM Contacts"."Contact Fact"."# of Contacts"))*100 s_2,
    
     filter(sum("Sales - CRM Contacts"."Contact Fact"."# of Contacts") using "Sales - CRM Contacts"."Contact"."Email Address" is not null) s_3,
    
     filter(sum("Sales - CRM Contacts"."Contact Fact"."# of Contacts") using "Sales - CRM Contacts"."Contact"."Email Address" is null) s_4,
    
     sum("Sales - CRM Contacts"."Contact Fact"."# of Contacts") s_5
    
    FROM "Sales - CRM Contacts"

Here's a sample output:

Output showing the number of records that are null, the number of contacts, the number of contacts that aren't null, the null percentage, and the not null percentage.