文章共计 1927 个字,阅读完成需要 5 分钟

【模板应用】使用 DataEase 制作 Redmine 任务分析大屏


Administrator
飞致云 发布于 2022-07-04 / 949 阅读 / 0 评论 / 0 点赞
本任务分析大屏主要是通过对 Redmine 任务的可视化展示,及时了解开发进度及任务进展情况和开发团队各人员贡献,以便更好的进行开发管理工作。

1 效果预览

image-1656932454879

2 需求概述

本次任务分析大屏主要是通过对 Redmine 任务的可视化展示,及时了解开发进度及任务进展情况和开发团队各人员贡献,以便更好的进行开发管理工作。

3 制作过程

3.1 添加数据源

1. 在 Redmine 安装目录中查看数据库连接信息
image-1656932497388
2. 在 DataEase 中添加数据源
image-1656933022795

3.2 添加数据集

本次仪表板制作使用了两个 SQL 数据集

3.2.1 所有任务

主表为 issues 表(任务表),关联其他如项目、任务状态 等表用于翻译一些 ID 字段。
SQL 如下:

SELECT
	issues.id 'ID',
	issues.SUBJECT '标题',
	issues.description '描述',
	issues.created_on '创建时间',
	issues.updated_on '更新时间',
	issues.start_date '开始时间',
	issues.closed_on '关闭时间',
	trackers.NAME '跟踪类型',
	projects.NAME '项目',
	issue_statuses.NAME '状态',
	u1.firstname '处理人',
	u2.firstname '创建人',
	versions.`name` '目标版本',
	versions.effective_date '版本日期',
	priority.`name` '优先级' 
FROM
	issues
	LEFT JOIN trackers ON issues.tracker_id = trackers.id
	LEFT JOIN projects ON issues.project_id = projects.id
	LEFT JOIN issue_statuses ON issues.status_id = issue_statuses.id
	LEFT JOIN users u1 ON issues.assigned_to_id = u1.id
	LEFT JOIN users u2 ON issues.author_id = u2.id
	LEFT JOIN versions ON issues.fixed_version_id = versions.id
	LEFT JOIN ( SELECT id, NAME FROM enumerations WHERE type = 'IssuePriority' ) priority ON issues.priority_id = priority.id

3.2.2 任务完成趋势

主表是 issues 表(任务表),关联 trackers 表用于翻译跟踪名称。
此 SQL 用于查询近 14 天内的任务完成情况,如果想修改查询的时间范围,将 SQL 中的 “INTERVAL 14 DAY” 中的 14 修改为想要的天数即可。

SELECT
	t1.d '完成日期',
	t1.NAME '任务类型',
IF
	(
		t2.c IS NULL,
		0,
		t2.c 
	) '数量',
	t2.NAME '版本号' 
FROM
	(
	SELECT DISTINCT
		DATE_FORMAT( issues.updated_on, '%Y-%m-%d' ) d,
		trackers.id,
		trackers.NAME 
	FROM
		issues,
		trackers 
	WHERE
		issues.updated_on > DATE_SUB( now(), INTERVAL 14 DAY ) 
	) t1
	LEFT JOIN (
	SELECT
		DATE_FORMAT( issues.updated_on, '%Y-%m-%d' ) d,
		tracker_id tid,
		count( 1 ) c,
		versions.NAME 
	FROM
		issues
		LEFT JOIN versions ON versions.id = issues.fixed_version_id 
	WHERE
		issues.status_id IN ( SELECT id FROM issue_statuses WHERE is_closed IS TRUE ) 
	GROUP BY
		DATE_FORMAT( issues.updated_on, '%Y-%m-%d' ),
		tracker_id,
		versions.NAME 
	) t2 ON t1.d = t2.d 
	AND t1.id = t2.tid

3.3 制作仪表板

点此下载 Redmine 任务分析大屏模板
仪表板的制作基于第二步中创建的两个数据集。大家可以导入模板后替换即可。
关于如何导入模板请参考:https://dataease.io/docs/user_manual/template_market/#3



是否对你有帮助?