Hi all,

I had been working for a long time with Views Crosstab to generate a report of total estimated hours and total time hours in Open Atrium. I get some inconsistencies that other users report as problem working with organic groups, erroneous totals, etc.

Other important aspect is the number of decimals that the Crosstab return, because there is no configuration to limit to a normal precision as 2 or 3 decimals. Here i add new configuration for decimal precision and many patches that i was fixing in the while of experimenting to my reports. Thanks to the creator of this module, i think the idea is wonderful but i imagine he has a lot of work and is busy. I offer myself to create a stable version and create a release that is useful for the followers of this module.

Until that, i add here the patch. To all the users that use this module i request time to test this patch and report any new issue. I will asume the role to patch it and contact the maintainer to create a stable release but i need back from all the interested users.

-----

Also resolves some ambiguos SQL error:

user warning: Column 'pid' in group statement is ambiguous query: execute /* admin : execute */ SELECT casetracker_time.cttid AS cttid, node_casetracker_time__casetracker_case2.pid AS node_casetracker_time__casetracker_case2_pid, users_casetracker_time.name AS users_casetracker_time_name, users_casetracker_time.uid AS users_casetracker_time_uid, casetracker_timelog.hours AS casetracker_timelog_hours, SUM(casetracker_timelog.hours) AS users_casetracker_time_name_total FROM casetracker_time casetracker_time LEFT JOIN users users_casetracker_time ON casetracker_time.uid = users_casetracker_time.uid INNER JOIN node node_casetracker_time ON casetracker_time.nid = node_casetracker_time.nid INNER JOIN casetracker_case node_casetracker_time__casetracker_case ON node_casetracker_time.vid = node_casetracker_time__casetracker_case.vid LEFT JOIN casetracker_timelog casetracker_timelog ON casetracker_time.cttid = casetracker_timelog.cttid LEFT JOIN casetracker_case node_casetracker_time__casetracker_case2 ON node_casetracker_time.vid = node_casetracker_time__casetracker_case2.vid WHERE node_casetracker_time__casetracker_case.case_status_id = '15' GROUP BY pid LIMIT 0, 10

Comments

citlacom’s picture

StatusFileSize
new71.74 KB
new48.75 KB
new54.34 KB

Adding here some snapshots for the report i generated in Open Atrium to meter estimations for the users and projects. Look the long decimals in some cases and the new setting i added to configure the precision.

Looks better, isn't it?

Sinovchi’s picture

It is very nice that your are offering your help. I'd like to test the patch but it seems crosstab is not properly working with views 3. Did you try to make it compatible with views 3 version?

eft’s picture

Status: Needs review » Closed (fixed)

A new D7 version has been committed to a development branch. Please try it and create a new issue for any problems identified. Development is occuring on D7 branch only.