branch: externals/org commit 9e9cc1e300406b7759f2d7c1ea103069ae0dab0b Author: Ihor Radchenko <yanta...@posteo.net> Commit: Ihor Radchenko <yanta...@posteo.net>
doc/org-manual.org: Improve description of summary types in column attributes * doc/org-manual.org (Column attributes): Clarify that: summary types ignore property values of non-leaf nodes during computation; property values in non-leaf nodes may be overwritten; special properties ignore summary specification; CLOCKSUM and CLOCKSUM_T use special rules for column estimates. (Summaries in deeply nested hierarchy): Add an example showing how summaries are computed hierarchically. Reported-by: Alexander Adolf <alexander.ad...@condition-alpha.com> Link: https://list.orgmode.org/orgmode/d4f5e6e94a8b5b62463a8df8cb85e...@condition-alpha.com/ --- doc/org-manual.org | 74 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 66 insertions(+), 8 deletions(-) diff --git a/doc/org-manual.org b/doc/org-manual.org index 47248e18ae..f32d1271ee 100644 --- a/doc/org-manual.org +++ b/doc/org-manual.org @@ -5736,10 +5736,22 @@ optional. The individual parts have the following meaning: - {{{var(SUMMARY-TYPE)}}} :: - The summary type. If specified, the column values for parent nodes - are computed from the children[fn:: If more than one summary type - applies to the same property, the parent values are computed - according to the first of them.]. + The summary type. If specified, the column values for parent + headings are computed from the direct children. If there is any + existing property defined for the parent nodes, it is not used in + the calculations. + + When there is an existing property in parent heading, Org does not + only overlay the computed value in the column view, but also + overwrites the property value in parent's property drawer[fn:: If + more than column definition is requested for the same property, only + the first definition will trigger writing to the property drawer. + For example, =%EFFORT{mean} %EFFORT(Sum){:}= will write the mean + value of =EFFORT= property; not the sum. If the first column + definition does not have summary type (=%EFFORT %EFFORT{mean}=), + nothing will be written to the property drawer]. + + Summary type is ignored for special properties. Supported summary types are: @@ -5790,7 +5802,7 @@ constraints.]. #+begin_example :COLUMNS: %25ITEM %9Approved(Approved?){X} %Owner %11Status \ - %10Time_Estimate{:} %CLOCKSUM %CLOCKSUM_T + %10Time_Estimate{:} :Owner_ALL: Tammy Mark Karl Lisa Don :Status_ALL: "In progress" "Not started yet" "Finished" "" :Approved_ALL: "[ ]" "[X]" @@ -5808,9 +5820,55 @@ all values. The =Approved= column does have a modified title (=Approved?=, with a question mark). Summaries are created for the =Time_Estimate= column by adding time duration expressions like HH:MM, and for the =Approved= column, by providing an =[X]= status if all -children have been checked. The =CLOCKSUM= and =CLOCKSUM_T= columns -are special, they list the sums of CLOCK intervals in the subtree, -either for all clocks or just for today. +children have been checked. + +The =CLOCKSUM= and =CLOCKSUM_T= column properties are special, they +list the sums of =CLOCK:= intervals in the subtree, either for all +clocks (=CLOCKSUM=) or just for today (=CLOCKSUM_T=). Unlike =:= +summary type that ignores property values in parent headings, all the +=CLOCK:= intervals are summed up, including =CLOCK:= lines within +parent headings. + +***** Summaries in deeply nested hierarchy + +When computing summaries of deeply nested headings, the summaries are +computed recursively, from the deepest level to the shallowest. Here +is an example: + +#+begin_example +,#+BEGIN: columnview :indent t :format "%ITEM %EFFORT{:mean}" :id global +| ITEM | EFFORT | +|--------------------+---------| +| Top level | 3h 0min | +| \_ Intermediate 1 | 1h 0min | +| \_ Leaf 1 | 1h | +| \_ Leaf 2 | 1h | +| \_ Leaf 3 | 1h | +| \_ Intermediate 2 | 5h | +,#+END: + +,* Top level +,** Intermediate 1 +:PROPERTIES: +:EFFORT: *unused*, will be set to 1h 0min (mean of the leaf nodes) +:END: +,***** Leaf 1 +:PROPERTIES: +:EFFORT: 1h +:END: +,*** Leaf 2 +:PROPERTIES: +:EFFORT: 1h +:END: +,*** Leaf 3 +:PROPERTIES: +:EFFORT: 1h +:END: +,** Intermediate 2 +:PROPERTIES: +:EFFORT: 5h +:END: +#+end_example *** Using column view :PROPERTIES: