KPI-vragen
U kunt de vragen in dit artikel gebruiken om gegevensvisualisaties tot stand te brengen gelijkend op die in Verbeterde Analytics.
Vereisten
Voordat u begint, moet u
-
Een verbinding tot stand brengen met uw Business Intelligence-tool (BI):
Nadat u een verbinding hebt gemaakt, kunt u de query's in dit artikel gebruiken om gegevens te extraheren en visualiseren.
Voltooide projecten
Uit de voltooide KPI-projecten blijkt hoeveel projecten binnen de gefilterde periode zijn voltooid en hoe het percentage is gestegen of gedaald sinds de vorige periode.
U kunt ook het aantal projecten zien die in de vorige periode zijn voltooid, evenals het aantal dagen in de vorige periode.
Query
WITH completedProjectsInRange as (
SELECT
COUNT(t0.PROJECTID) as PROJECT_COUNT
FROM PROJECTS_CURRENT t0
WHERE t0.ACTUALCOMPLETIONDATE >= '2025-01-01'
AND t0.ACTUALCOMPLETIONDATE <= '2025-01-31'
), completedProjectsPreviousRange as (
SELECT
COUNT(t0.PROJECTID) as PROJECT_COUNT
FROM PROJECTS_CURRENT t0
WHERE t0.ACTUALCOMPLETIONDATE >= '2024-12-01'
AND t0.ACTUALCOMPLETIONDATE <= '2024-12-31'
), rawChange as (
SELECT
(a.PROJECT_COUNT - b.PROJECT_COUNT) as CHANGE_FROM_PREVIOUS_PERIOD
FROM completedProjectsInRange a, completedProjectsPreviousRange b
), percentChange as (
SELECT
CASE
WHEN a.PROJECT_COUNT = b.PROJECT_COUNT THEN 0.00
WHEN b.PROJECT_COUNT > 0 THEN ((a.PROJECT_COUNT - b.PROJECT_COUNT) / b.PROJECT_COUNT * 100)
END AS PERCENT_CHANGE_FROM_PREVIOUS_PERIOD
FROM completedProjectsInRange a, completedProjectsPreviousRange b
)
SELECT
a.PROJECT_COUNT,
b.PROJECT_COUNT as PREVIOUS_PROJECT_COUNT,
c.CHANGE_FROM_PREVIOUS_PERIOD,
d.PERCENT_CHANGE_FROM_PREVIOUS_PERIOD
FROM completedProjectsInRange a, completedProjectsPreviousRange b, rawChange c,
percentChange d
Projecten tijdig voltooid
De projecten die tijdig zijn voltooid, geven het percentage van de projecten binnen de gefilterde periode aan die op tijd zijn voltooid, en de mate waarin het percentage is gestegen of gedaald sinds de vorige periode.
U ziet ook het percentage projecten dat op tijd in de vorige periode is voltooid, en het aantal dagen in de vorige periode.
WITH completedProjectsInRange as (
SELECT
COUNT(t0.PROJECTID) as PROJECT_COUNT
FROM PROJECTS_CURRENT t0
WHERE t0.ACTUALCOMPLETIONDATE >= '2025-01-01'
AND t0.ACTUALCOMPLETIONDATE <= '2025-01-31'
), completedOntimeProjectsInRange as (
SELECT
COUNT(t0.PROJECTID) as PROJECT_COUNT
FROM PROJECTS_CURRENT t0
WHERE t0.ACTUALCOMPLETIONDATE >= '2025-01-01'
AND t0.ACTUALCOMPLETIONDATE <= '2025-01-31'
AND t0.PROGRESSSTATUS = 'ON'
), percentOntimeProjects as (
SELECT
CASE
WHEN a.PROJECT_COUNT = 0 THEN 0
ELSE ROUND(b.PROJECT_COUNT/a.PROJECT_COUNT) * 100
END as ONTIMEPROJECTPERCENT
FROM completedProjectsInRange a, completedOntimeProjectsInRange b
), completedProjectsPreviousRange as (
SELECT
COUNT(t0.PROJECTID) as PROJECT_COUNT
FROM PROJECTS_CURRENT t0
WHERE t0.ACTUALCOMPLETIONDATE >= '2024-12-01'
AND t0.ACTUALCOMPLETIONDATE <= '2024-12-31'
), completedOntimeProjectsPreviousRange as (
SELECT
COUNT(t0.PROJECTID) as PROJECT_COUNT
FROM PROJECTS_CURRENT t0
WHERE t0.ACTUALCOMPLETIONDATE >= '2024-12-01'
AND t0.ACTUALCOMPLETIONDATE <= '2024-12-31'
AND t0.PROGRESSSTATUS = 'ON'
), percentOntimeProjectsPreviousRange as (
SELECT
CASE
WHEN a.PROJECT_COUNT = 0 THEN 0
ELSE ROUND(b.PROJECT_COUNT/a.PROJECT_COUNT) * 100
END as ONTIMEPROJECTPERCENT
FROM completedProjectsPreviousRange a, completedOntimeProjectsPreviousRange b
), rawChange as (
SELECT
(a.ONTIMEPROJECTPERCENT - b.ONTIMEPROJECTPERCENT) as CHANGE_FROM_PREVIOUS_PERIOD
FROM percentOntimeProjects a, percentOntimeProjectsPreviousRange b
), percentChange as (
SELECT
CASE
WHEN a.ONTIMEPROJECTPERCENT = b.ONTIMEPROJECTPERCENT THEN 0
WHEN b.ONTIMEPROJECTPERCENT > 0 THEN ((a.ONTIMEPROJECTPERCENT - b.ONTIMEPROJECTPERCENT) / b.ONTIMEPROJECTPERCENT * 100)
END AS PERCENT_CHANGE_FROM_PREVIOUS_PERIOD
FROM percentOntimeProjects a, percentOntimeProjectsPreviousRange b
)
SELECT
a.ONTIMEPROJECTPERCENT,
b.ONTIMEPROJECTPERCENT as PREVIOUS_ONTIMEPROJECTPERCENT,
c.CHANGE_FROM_PREVIOUS_PERIOD,
d.PERCENT_CHANGE_FROM_PREVIOUS_PERIOD
FROM percentOntimeProjects a, percentOntimeProjectsPreviousRange b, rawChange c,
percentChange d
Gem. projectduur
Het Gem. De projectduur KPI toont de gemiddelde hoeveelheid voltooiingstijd-in dagen, weken, of jaar-voor projecten met daadwerkelijke einddata binnen de gefilterde tijdspanne, evenals hoe het percentage sinds de vorige tijdspanne steeg of daalde.
U ziet ook de gemiddelde tijd van voltooiing voor projecten met daadwerkelijke einddata in de vorige periode, evenals het aantal dagen in de vorige periode.
WITH averageProjectDurationInRange as (
SELECT
AVG(t0.ACTUALDURATIONMINUTES) as AVERAGE_PROJECT_DURATION
FROM PROJECTS_CURRENT t0
WHERE t0.ACTUALCOMPLETIONDATE >= '2025-01-01'
AND t0.ACTUALCOMPLETIONDATE <= '2025-01-31'
), averageProjectPreviousRange as (
SELECT AVG (t0. ACTUALDURATIONMINUTES) as AVERAGE_PROJECT_DURATION FROM PROJECTS_CURRENT t0
WHERE t0.ACTUALCOMPLETIONDATE >= '2024-12-01'
AND t0.ACTUALCOMPLETIONDATE <= '2024-12-31'
), rawChange as (
SELECT ((a.AVERAGE_PROJECT_DURATION - b.AVERAGE_PROJECT_DURATION) / 480) as CHANGE_FROM_PREVIOUS_PERIOD FROM averageProjectDurationInRange a, averageProjectPreviousRange b
), percentChange as (
SELECT
CASE
WHEN a.AVERAGE_PROJECT_DURATION = b.AVERAGE_PROJECT_DURATION THEN 0
WHEN b.AVERAGE_PROJECT_DURATION > 0 THEN ((a.AVERAGE_PROJECT_DURATION - b.AVERAGE_PROJECT_DURATION) / b.AVERAGE_PROJECT_DURATION) * 100
END AS PERCENT_CHANGE_FROM_PREVIOUS_PERIOD
FROM averageProjectDurationInRange a, averageProjectPreviousRange b
)
SELECT
a.AVERAGE_PROJECT_DURATION,
b.AVERAGE_PROJECT_DURATION as PREVIOUS_AVERAGE_PROJECT_DURATION,
c.CHANGE_FROM_PREVIOUS_PERIOD,
d.PERCENT_CHANGE_FROM_PREVIOUS_PERIOD
FROM averageProjectDurationInRange a, averageProjectPreviousRange b, rawChange c,
percentChange d
Gemiddelde taken per project
Het gemiddelde, de taken per project KPI toont het gemiddelde aantal taken die aan projecten binnen de gefilterde tijdspanne worden toegewezen, evenals hoe het percentage sinds de vorige tijdspanne steeg of daalde.
U kunt ook het gemiddelde aantal taken zien die in de vorige periode aan projecten zijn toegewezen, evenals het aantal dagen in de vorige periode.
WITH tasksPerProjectInRange as (
SELECT
COUNT(t0.TASKID) as TASK_COUNT
FROM TASKS_CURRENT t0
LEFT JOIN PROJECTS_CURRENT t1 ON t1.PROJECTID = t0.PROJECTID
WHERE
(
t1.PLANNEDSTARTDATE >= '2025-01-01'
AND t1.PLANNEDSTARTDATE <= '2025-01-31'
)
OR (
t1.PLANNEDCOMPLETIONDATE >= '2025-01-01'
AND t1. PLANNEDCOMPLETIONDATE <= '2025-01-31'
)
OR (
t1.PLANNEDSTARTDATE <= '2025-01-01'
AND t1. PLANNEDCOMPLETIONDATE >= '2025-01-31'
)
GROUP BY t0.PROJECTID
), averageTasksPerProjectInRange as (
SELECT AVG(TASK_COUNT) AS AVERAGE_TASK_COUNT FROM tasksPerProjectInRange
), tasksPerProjectInPreviousRange as (
SELECT
COUNT(t0.TASKID) as TASK_COUNT
FROM TASKS_CURRENT t0
LEFT JOIN PROJECTS_CURRENT t1 ON t1.PROJECTID = t0.PROJECTID
WHERE
(
t1.PLANNEDSTARTDATE >= '2024-12-01'
AND t1.PLANNEDSTARTDATE <= '2024-12-31'
)
OR (
t1.PLANNEDCOMPLETIONDATE >= '2024-12-01'
AND t1. PLANNEDCOMPLETIONDATE <= '2024-12-31'
)
OR (
t1.PLANNEDSTARTDATE <= '2024-12-01'
AND t1. PLANNEDCOMPLETIONDATE >= '2024-12-31'
)
GROUP BY t0.PROJECTID
), averageTasksPerProjectInPreviousRange as (
SELECT
AVG(TASK_COUNT) AS AVERAGE_TASK_COUNT
FROM tasksPerProjectInPreviousRange
), rawChange as (
SELECT
(a.AVERAGE_TASK_COUNT - b.AVERAGE_TASK_COUNT) as CHANGE_FROM_PREVIOUS_PERIOD
FROM averageTasksPerProjectInRange a, averageTasksPerProjectInPreviousRange b
), percentChange as (
SELECT
CASE
WHEN a.AVERAGE_TASK_COUNT = b.AVERAGE_TASK_COUNT THEN 0
WHEN b.AVERAGE_TASK_COUNT > 0 THEN ((a.AVERAGE_TASK_COUNT - b.AVERAGE_TASK_COUNT) / b.AVERAGE_TASK_COUNT) * 100
END as PERCENT_CHANGE_FROM_PREVIOUS_PERIOD
FROM averageTasksPerProjectInRange a, averageTasksPerProjectInPreviousRange b
)
SELECT
a.AVERAGE_TASK_COUNT,
b.AVERAGE_TASK_COUNT as PREVIOUS_AVERAGE_TASK_COUNT,
c.CHANGE_FROM_PREVIOUS_PERIOD,
d.PERCENT_CHANGE_FROM_PREVIOUS_PERIOD
FROM averageTasksPerProjectInRange a, averageTasksPerProjectInPreviousRange b, rawChange c, percentChange d
Problemen oplossen
- Geen resultaten: Als uw vraag geen resultaten terugkeert, controleer om dubbele en enige correct gekopieerde citaten te verzekeren.