-- Expectations 결과만 추출
WITH expectations_data AS (
SELECT
timestamp,
details:flow_progress:flow_name AS flow_name,
EXPLODE(
FROM_JSON(
details:flow_progress:data_quality:expectations,
'ARRAY<STRUCT<name: STRING, dataset: STRING, passed_records: BIGINT, failed_records: BIGINT>>'
)
) AS expectation
FROM event_log("pipeline-id-here")
WHERE event_type = 'flow_progress'
AND details:flow_progress:data_quality IS NOT NULL
)
SELECT
DATE(timestamp) AS date,
flow_name,
expectation.name AS rule_name,
expectation.passed_records,
expectation.failed_records,
ROUND(
expectation.passed_records * 100.0 /
(expectation.passed_records + expectation.failed_records), 2
) AS pass_rate_pct
FROM expectations_data
ORDER BY timestamp DESC;