You are given a raw event log exported from Databricks SQL where status values are inconsistent and some rows are not ready for analysis. Write a PostgreSQL query that returns the number of usable events per cleaned status. Treat status values case-insensitively, trim surrounding spaces, exclude rows where the cleaned status is empty or NULL, and only keep rows with a non-NULL event_date. Return the cleaned status and the event count, ordered by event count descending and cleaned status ascending.
| Column | Type | Description |
|---|---|---|
| event_idPK | INT | Unique event identifier |
| raw_status | VARCHAR(50) | Raw status text before cleaning |
| event_date | DATE | Date the event was recorded |
| source_system | VARCHAR(30) | Databricks surface that produced the row |