4

我有一个 org 文件,描述了一个项目:

* task1
** task1-1
     :PROPERTIES:
     :price: 10
     :given: <2012-11-08 Thu>
     :END:
** task1-2
     :PROPERTIES:
     :price: 11
     :given: <2012-11-08 Thu>
     :END:


* task2
** task2-1
     :PROPERTIES:
     :price: 20
     :given: <2012-11-08 Thu>
     :END:
** task2-2
     :PROPERTIES:
     :price: 21
     :given: <2012-11-08 Thu>
     :END:

我使用 org-collector 生成了一个总计表:

#+BEGIN: propview :id global :conds ((not (= price 0))) :cols (ITEM price)
| ITEM      | price |
|-----------+-------|
| "task1-1" |    10 |
| "task1-2" |    11 |
| "task2-1" |    20 |
| "task2-2" |    21 |
|-----------+-------|
|           |    62 |
#+TBLFM: @6$2=vsum(@2$2..@5$2)
#+END:

但我想要这样的东西:

| ITEM      | price |
|-----------+-------|
| "task1-1" |    10 |
| "task1-2" |    11 |
| "task2-1" |    20 |
| "task2-2" |    21 |
|-----------+-------|
| Total     |    62 |    

怎么做?

4

2 回答 2

6

对于“总计”行,您可以添加一行|Total| |C-u C-c =在空单元格中按(为其定义公式),然后输入公式vsum(@1$2..@4$2)。(如果你想重新计算,那就是C-u C-c C-c全部。)

我不了解 org-collector,所以无法帮助您完成这部分。在整个文档上运行它(正在:id global工作?),或者将所有内容向右移动一级,使其位于单个树内,也许。

于 2012-11-08T21:33:29.117 回答
0

我今天早上才想出这个。您在 Org-Collector 中寻找的答案很简单。只需将表格公式放在属性视图开头下方的两个空白行,它就会在评估属性视图时自动计算(使用C-c C-c)。

#+BEGIN: propview :scope tree :cols (ITEM CLOCKSUM EFFORT) :match "TODO=\"TODO\"" :noquote ALL


#+TBLFM: @>$1=Totals::@>$2=vsum(@I..@II);t::@>$3=vsum(@I..@II);t
#+END:

如果你想把它变成一个通用的 yasnippet,你需要转义 $ 和 \:

#+BEGIN: propview :scope tree :cols (ITEM CLOCKSUM EFFORT) :match "TODO=\\"TODO\\"" :noquote ALL


#+TBLFM: @>\$1=Totals::@>\$2=vsum(@I..@II);t::@>\$3=vsum(@I..@II);t
#+END:

现在,您可以添加一个通用属性视图,用于计算项目每个步骤到目前为止的时间和剩余工作量,以及总时间。

于 2019-06-27T15:15:07.697 回答