Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Buy a full Zeppelin version --> IMPROVEKIT - Payhip

Why study deeper? For us, it is "normal" to know "reality"...

...

A relatively common tool is to establish baselines, points of comparison. What you can also do is set the goals as thresholds realistically, that is, based on the actual performance of the processes

Image RemovedImage Added

Contexts

Most creativity is a transition from one context to another where things are more surprising. Our job is to remind ourselves that there are more contexts than the one we are in, the one we believe to be reality.

...

An instantiated template that is as complete as possible is displayed as part of your argument in the Story so that you can carry out your analysis visually, directly with all the elements within reach

Image RemovedImage Added

Desktops (Worlds)

...

This tool gives you the advantage of having additional information to the typical statistical analysis, either indicating possible inflection points in the phenomenon, or a global notion of the shape of the process, which in some cases may be correlated not only with stability, but fundamentally, with its resilience (this occurs with many processes of an organic nature, and our vision is that it also occurs in socio-technical activities)

Image RemovedImage Added

Improvekit High-Order Domain Specific Language (IHDSL)

...

See equivalent Stored Procedure in SQL (optimized in MySQL):

Code Block
languagesql
declare v_issuetype varchar(255);
	declare v_create varchar(4000);
	declare v_select varchar(4000);
	declare v_i int;
	declare v_alias char(2);
	declare v_rownum int;
	declare v_j int;
	declare v_tipoProyecto smallint;

drop table if exists activity;
drop table if exists rankgroup;
drop table if exists ranks;
drop table if exists b0;
drop table if exists b1;
drop table if exists b2;
drop table if exists b3;
drop table if exists b4;

select pj.tipo_proyecto into @v_tipoProyecto from Proyectos_Issue_Tracker pj where pj.IssueTrackerProject = p_proyecto;

create temporary table rankgroup
select ji.proyecto, ji.tipo, count(1) items
from RELEASE_INFO ji, Proyectos_Issue_Tracker pj
where ((p_group = 1) OR (p_group = 0 and ji.proyecto = ifnull(p_proyecto,ji.proyecto)))
and (ji.proyecto = pj.IssueTrackerProject AND (pj.tipo_proyecto = if(p_proyecto is null, pj.tipo_proyecto, @v_tipoProyecto)))
group by ji.proyecto, ji.tipo;

set @rownum := 0;
create temporary table ranks
SELECT g.proyecto, g.tipo, g.items, (@rownum := @rownum + 1) as rank 
FROM rankgroup g 
ORDER BY g.items DESC;

create temporary table activity
select rm.proyecto, 	
	concat(convert(year(rm.fecha_release), char), " Quarter , convert(quarter(rm.fecha_release), char)) as quarter,
	rk.tipo,
	count(1) total
from RELEASE_INFO ji, release_measures rm, ranks rk
where ji.proyecto = rk.proyecto and ji.tipo = rk.tipo
	and ji.proyecto = rm.proyecto and ji.nombre_release = rm.nombre_release
	and rk.rank <= 5
group by rm.proyecto, 	
	concat(convert(year(rm.fecha_release), char), " Quarter ", convert(quarter(rm.fecha_release), char)),
	rk.tipo;

create temporary table totalActivity
select rm.proyecto, 	
	concat(convert(year(rm.fecha_release), char), " Quarter ", convert(quarter(rm.fecha_release), char)) as quarter,
	rk.tipo,
	count(1) total
from RELEASE_INFO ji, release_measures rm, ranks rk
where ji.proyecto = rk.proyecto and ji.tipo = rk.tipo
	and ji.proyecto = rm.proyecto and ji.nombre_release = rm.nombre_release
group by rm.proyecto, 	
	concat(convert(year(rm.fecha_release), char), " Quarter ", convert(quarter(rm.fecha_release), char)),
	rk.tipo;


BEGIN

DECLARE done TINYINT DEFAULT 0;
DECLARE issuetypes_cursor CURSOR FOR select distinct tipo from activity order by tipo;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

OPEN issuetypes_cursor;

set @v_create = ""; 
set @v_select = "select b.proyecto, b.quarter,";
set @v_i = 0;

FETCH NEXT FROM issuetypes_cursor INTO v_issuetype;

read_loop: LOOP

	IF done THEN
      		LEAVE read_loop;
    	END IF;

	set @v_alias = concat("b", convert(@v_i,char));

	set @v_create = concat("create temporary table ", @v_alias, 
		" select proyecto, quarter, sum(total) as total from activity where tipo =",
		char(34), v_issuetype, char(34),
		" group by proyecto, quarter; ");

	PREPARE stmt FROM @v_create;
	EXECUTE stmt;
	DEALLOCATE PREPARE stmt;


	set @v_select = concat(@v_select, "ifnull((select ",
		@v_alias, ".total from ", @v_alias, 
		" where ", @v_alias, ".proyecto=b.proyecto and ",
		@v_alias, ".quarter=b.quarter),0) as " char(34), v_issuetype, char(34), ", ");

	FETCH NEXT FROM issuetypes_cursor INTO v_issuetype;

	set @v_i = @v_i + 1;

END LOOP;

CLOSE issuetypes_cursor;

-- completa campos siempre devuelve 5 grupos
set @v_j = @v_i;
j_loop: LOOP
	if @v_j = 5 then
		leave j_loop;
	end if;
	set @v_select = concat(@v_select, "0 as dummy", @v_j - @v_i, ",");
	set @v_j = @v_j + 1; 
END LOOP;

set @v_select = concat(@v_select," sum(total) as total from totalActivity b group by b.proyecto, b.quarter ORDER BY b.proyecto, b.quarter;");

PREPARE stmt FROM @v_select;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

END;

drop table activity;
drop table totalActivity;	

Buy a full Zeppelin version --> IMPROVEKIT - Payhip