Overview
These two views provide visibility into job scheduling and execution history. VW_DATASET_JOBS contains job definitions (name, project, schedule count), while VW_DATASET_JOB_EXECUTIONS provides the execution history for each job with timing, status, and aggregate test results.
Use these views for job monitoring dashboards, SLA tracking, and understanding which jobs are inactive or failing.
VW_DATASET_JOBS Schema
| Column |
Type |
Description |
| JOB_NAME |
VARCHAR |
Name of the job |
| JOB_ID |
NUMBER |
Unique job identifier |
| PROJECT_ID |
NUMBER |
ID of the project containing the job |
| PROJECT_NAME |
VARCHAR |
Name of the project |
| JOB_FOLDER |
VARCHAR |
Name of the immediate folder |
| JOB_FOLDER_ID |
NUMBER |
Folder ID |
| JOB_FOLDER_PATH |
VARCHAR |
Full folder path hierarchy |
| STEPS_COUNT |
NUMBER |
Number of active steps in the job |
| SCHEDULES_COUNT |
NUMBER |
Number of active schedules attached |
| DATE_CREATED |
TIMESTAMP |
When the job was created |
| DATE_MODIFIED |
TIMESTAMP |
When the job was last modified |
| LAST_EXECUTED |
TIMESTAMP |
Most recent execution start time |
| CREATED_BY |
VARCHAR |
Full name of the creator |
| MODIFIED_BY |
VARCHAR |
Full name of the last modifier |
VW_DATASET_JOB_EXECUTIONS Schema
Execution Identity
| Column |
Type |
Description |
| STEP_ID |
NUMBER |
Job step execution ID (NULL for top-level batch runs) |
| BATCH_ID |
NUMBER |
Batch ID for this execution |
| JOB_ID |
NUMBER |
ID of the job |
| PROJECT_ID |
NUMBER |
Project ID |
Timing
| Column |
Type |
Description |
| RUN_DATE |
TIMESTAMP |
When the execution started |
| END_DATE |
TIMESTAMP |
When the execution completed |
| DURATION |
NUMBER |
Duration in seconds |
| BATCH_STATUS_ID |
NUMBER |
Status code |
| BATCH_STATUS |
VARCHAR |
Status name (e.g., "Complete", "Running", "Error") |
Job Context
| Column |
Type |
Description |
| JOB_NAME |
VARCHAR |
Name of the job |
| JOB_DESCRIPTION |
VARCHAR |
Job description |
| JOB_FOLDER_PATH |
VARCHAR |
Full folder path |
| JOB_FOLDER_ID |
NUMBER |
Folder ID |
| JOB_FOLDER_NAME |
VARCHAR |
Folder name |
| PROJECT |
VARCHAR |
Project name |
| JOB_IS_ACTIVE |
BOOLEAN |
Whether the job is currently active |
| JOB_CREATED_BY |
VARCHAR |
Full name of the job creator |
| JOB_MODIFIED_BY |
VARCHAR |
Full name of the last job modifier |
| JOB_CREATED_ON |
TIMESTAMP |
Job creation date |
| JOB_MODIFIED_ON |
TIMESTAMP |
Job modification date |
| TRIGGERED_BY |
VARCHAR |
Who triggered the run ("Scheduler" or user name) |
| RUNTIME_PARENT |
VARCHAR |
Full path of parent job hierarchy (for nested jobs) |
| URL |
VARCHAR |
Relative URL to view results |
Test Result Counts
| Column |
Type |
Description |
| TEST_TOTAL_COUNT |
NUMBER |
Total tests executed in this job run |
| TEST_VALID_COUNT |
NUMBER |
Valid test count (same as total) |
| TEST_PASSED_COUNT |
NUMBER |
Tests that passed |
| TEST_FAILED_COUNT |
NUMBER |
Tests that failed |
| TEST_ERROR_COUNT |
NUMBER |
Tests that errored |
| JOB_STATUS |
VARCHAR |
Derived status: "Passed", "Failed", "Error", or "N/A" |
| RESULT |
VARCHAR |
Detailed result string (e.g., "Passed (10 pass of 10)" or "Failed (8 pass of 10)") |
Relationships
VW_DATASET_JOBS
│
└── JOB_ID → VW_DATASET_JOB_EXECUTIONS.JOB_ID (one-to-many)
VW_DATASET_JOB_EXECUTIONS
│
├── BATCH_ID → VW_DATASET_TEST_EXECUTIONS.BATCH_ID
└── PROJECT_ID → VW_DATASET_TESTS.PROJECT_ID
Example Queries
Job Run History with Pass/Fail Summary
SELECT
JOB_NAME,
PROJECT,
RUN_DATE,
DURATION,
RESULT,
TRIGGERED_BY
FROM REPOSITORY.VW_DATASET_JOB_EXECUTIONS
WHERE RUN_DATE >= DATEADD(day, -7, CURRENT_DATE)
ORDER BY RUN_DATE DESC;
Jobs Not Executed in 7+ Days
SELECT
JOB_NAME,
PROJECT_NAME,
JOB_FOLDER_PATH,
LAST_EXECUTED,
DATEDIFF(day, LAST_EXECUTED, CURRENT_DATE) AS DAYS_SINCE_LAST_RUN,
SCHEDULES_COUNT
FROM REPOSITORY.VW_DATASET_JOBS
WHERE LAST_EXECUTED < DATEADD(day, -7, CURRENT_DATE)
OR LAST_EXECUTED IS NULL
ORDER BY LAST_EXECUTED ASC NULLS FIRST;
Average Job Duration by Project
SELECT
PROJECT,
JOB_NAME,
COUNT(*) AS RUN_COUNT,
AVG(DURATION) AS AVG_DURATION_SEC,
MAX(DURATION) AS MAX_DURATION_SEC,
MIN(DURATION) AS MIN_DURATION_SEC
FROM REPOSITORY.VW_DATASET_JOB_EXECUTIONS
WHERE RUN_DATE >= DATEADD(day, -30, CURRENT_DATE)
AND END_DATE IS NOT NULL
GROUP BY PROJECT, JOB_NAME
ORDER BY AVG_DURATION_SEC DESC;
Job Failure Rate
SELECT
JOB_NAME,
COUNT(*) AS TOTAL_RUNS,
SUM(CASE WHEN JOB_STATUS = 'Passed' THEN 1 ELSE 0 END) AS PASSES,
SUM(CASE WHEN JOB_STATUS = 'Failed' THEN 1 ELSE 0 END) AS FAILURES,
SUM(CASE WHEN JOB_STATUS = 'Error' THEN 1 ELSE 0 END) AS ERRORS,
ROUND(SUM(CASE WHEN JOB_STATUS = 'Failed' THEN 1 ELSE 0 END)::DECIMAL / COUNT(*) * 100, 1) AS FAILURE_RATE_PCT
FROM REPOSITORY.VW_DATASET_JOB_EXECUTIONS
WHERE RUN_DATE >= DATEADD(day, -30, CURRENT_DATE)
AND JOB_STATUS != 'N/A'
GROUP BY JOB_NAME
HAVING COUNT(*) >= 3
ORDER BY FAILURE_RATE_PCT DESC;
VW_DATASET_JOB_PROPERTIES — Extended Property Details
The companion view VW_DATASET_JOB_PROPERTIES provides a vertical (one-row-per-property) representation of job details that don't fit in the flat VW_DATASET_JOBS structure. Each row represents one property for a specific job.
Schema
| Column |
Type |
Description |
| JOB_NAME |
VARCHAR |
Job name |
| JOB_ID |
NUMBER |
Job ID |
| PROJECT_ID |
NUMBER |
Project ID |
| PROJECT_NAME |
VARCHAR |
Project name |
| FOLDER_NAME |
VARCHAR |
Folder name |
| FOLDER_ID |
NUMBER |
Folder ID |
| FOLDER_PATH |
VARCHAR |
Full folder path |
| PROPERTY_CATEGORY |
VARCHAR |
Category grouping (see below) |
| PROPERTY_NAME |
VARCHAR |
Specific property or step name |
| PROPERTY_NAME_INDEX |
NUMBER |
Sequence within the category |
| PROPERTY_VALUE_TYPE |
VARCHAR |
Data type hint: "String Value", "Numeric Value", "Step", "Schedule", or custom field types |
| PROPERTY_VALUE |
VARCHAR |
The property value |
| DATE_MODIFIED |
TIMESTAMP |
When this property was last changed |
| MODIFIED_BY |
VARCHAR |
Who modified it |
Property Categories
| PROPERTY_CATEGORY |
PROPERTY_NAME Values |
Description |
| Custom Metadata |
(user-defined custom field names) |
Custom field values assigned to the job. Supports String, Numeric, Dropdown, TagList, and UserGroupList data types. |
| Steps |
(name of the test, job, profile set, or folder) |
Each step in the job listed individually. PROPERTY_VALUE is the step type: "Test", "Job", "DataProfileSet", or "Folder". PROPERTY_NAME_INDEX gives the step order. |
| Schedules |
(schedule name) |
Active schedules attached to the job. PROPERTY_VALUE is the next execution date. |
| Discussion Comment |
Discussion Comment |
Comments posted on the job's discussion thread. |
Joining Jobs to Properties
Use JOB_ID as the join key between VW_DATASET_JOBS and VW_DATASET_JOB_PROPERTIES.
Example: Jobs with a Custom Field Indicating Environment
SELECT
j.JOB_NAME,
j.PROJECT_NAME,
j.LAST_EXECUTED,
p.PROPERTY_VALUE AS ENVIRONMENT
FROM REPOSITORY.VW_DATASET_JOBS j
INNER JOIN REPOSITORY.VW_DATASET_JOB_PROPERTIES p
ON p.JOB_ID = j.JOB_ID
WHERE p.PROPERTY_CATEGORY = 'Custom Metadata'
AND p.PROPERTY_NAME = 'Environment'
AND p.PROPERTY_VALUE = 'Production'
ORDER BY j.LAST_EXECUTED DESC;
Example: List All Steps for a Specific Job
SELECT
PROPERTY_NAME AS STEP_NAME,
PROPERTY_VALUE AS STEP_TYPE,
PROPERTY_NAME_INDEX AS STEP_ORDER
FROM REPOSITORY.VW_DATASET_JOB_PROPERTIES
WHERE JOB_NAME = 'Daily Validation Suite'
AND PROPERTY_CATEGORY = 'Steps'
ORDER BY PROPERTY_NAME_INDEX;
Example: Jobs That Have Not Been Scheduled
SELECT
j.JOB_NAME,
j.PROJECT_NAME,
j.LAST_EXECUTED
FROM REPOSITORY.VW_DATASET_JOBS j
WHERE NOT EXISTS (
SELECT 1
FROM REPOSITORY.VW_DATASET_JOB_PROPERTIES p
WHERE p.JOB_ID = j.JOB_ID
AND p.PROPERTY_CATEGORY = 'Schedules'
)
ORDER BY j.PROJECT_NAME, j.JOB_NAME;
Example: Jobs Where a Comment Mentions "SLA"
SELECT DISTINCT
j.JOB_NAME,
j.PROJECT_NAME,
p.PROPERTY_VALUE AS COMMENT_TEXT,
p.MODIFIED_BY,
p.DATE_MODIFIED
FROM REPOSITORY.VW_DATASET_JOBS j
INNER JOIN REPOSITORY.VW_DATASET_JOB_PROPERTIES p
ON p.JOB_ID = j.JOB_ID
WHERE p.PROPERTY_CATEGORY = 'Discussion Comment'
AND LOWER(p.PROPERTY_VALUE) LIKE '%sla%'
ORDER BY p.DATE_MODIFIED DESC;
Secure View
VW_SECURE_DATASET_JOB_PROPERTIES adds USER_ID and ACCESS_TYPE columns, filtered by project membership (same security tier as VW_SECURE_DATASET_JOBS).
Databricks Notes
- Replace
DATEADD(day, -7, CURRENT_DATE) with DATE_ADD(CURRENT_DATE(), -7)
- Replace
DATEDIFF(day, col, CURRENT_DATE) with DATEDIFF(CURRENT_DATE(), col)
- Replace
col::DECIMAL with CAST(col AS DECIMAL)
- The
RUNTIME_PARENT column shows the full job nesting path when a job is triggered as a step inside another job