Dear all,

I have a question about the so called  two-level filtering syntax on the 
"traditional" beanquery. Under the traditional beanquery I mean the 
beanquery which does not use 

the  *FROM #<table_name*>  form

the document 
<https://docs.google.com/document/d/1s0GOZMcrKKCLlP29MD7kHO4L88evrwWdIO0p4EwRBE0/edit?tab=t.0>says,
 
that 

For this reason, we modify the SQL SELECT syntax to provide a* two-level 
filtering syntax*: since we have a single table of data, we replace the 
table name in FROM by a filtering expression which applies over 
transactions, and the WHERE clause applies to data pulled from the 
resulting list of postings:

If however one compares the * .help FROM* and *.help WHERE* then one can 
find, that all of the fields available in the * .help FROM *are also 
available in the  *.help WHERE, *which makes one wonder whether the *FROM 
*clause  
filtering in needed at all in this  two-level filtering?

I am just guessing, that this may be a historical thing, where originally 
may be there was a separation of the fields, but later on all of the FROM 
fields where also made available for WHERE filtering.

Or am I missing something? ================================
beanquery> .help FROM


A logical expression that consist of columns on directives (mostly
transactions) and simple functions.

Columns
-------

id: str
  Unique id of a directive.

type: str
  The data type of the directive.

filename: str
  The filename where the directive was parsed from or created.

lineno: int
  The line number from the file the directive was parsed from.

date: date
  The date of the directive.

year: int
  The year of the date year of the directive.

month: int
  The year of the date month of the directive.

day: int
  The year of the date day of the directive.

flag: str
  The flag the transaction.

payee: str
  The payee of the transaction.

narration: str
  The narration of the transaction.

description: str
  A combination of the payee + narration of the transaction, if present.

tags: set
  The set of tags of the transaction.

links: set
  The set of links of the transaction.

meta: dict


accounts: set[str]

beanquery> .help WHERE


A logical expression that consist of columns on postings and simple
functions.

Columns
-------

type: str


id: str
  Unique id of a directive.

date: date
  The date of the directive.

year: int
  The year of the date year of the directive.

month: int
  The year of the date month of the directive.

day: int
  The year of the date day of the directive.

filename: str
  The ledger where the posting is defined.

lineno: int
  The line number in the ledger file where the posting is defined.

location: str
  The filename:lineno location where the posting is defined.

flag: str
  The flag of the parent transaction for this posting.

payee: str
  The payee of the parent transaction for this posting.

narration: str
  The narration of the parent transaction for this posting.

description: str
  A combination of the payee + narration for the transaction of this 
posting.

tags: set
  The set of tags of the parent transaction for this posting.

links: set
  The set of links of the parent transaction for this posting.

posting_flag: str
  The flag of the posting itself.

account: str
  The account of the posting.

other_accounts: set
  The list of other accounts in the transaction, excluding that of this 
posting.

number: decimal
  The number of units of the posting.

currency: str
  The currency of the posting.

cost_number: decimal
  The number of cost units of the posting.

cost_currency: str
  The cost currency of the posting.

cost_date: date
  The cost currency of the posting.

cost_label: str
  The cost currency of the posting.

position: position
  The position for the posting. These can be summed into inventories.

price: amount
  The price attached to the posting.

weight: amount
  The computed weight used for this posting.

balance: inventory
  The balance for the posting. These can be summed into inventories.

meta: dict


entry: transaction


accounts: set[str]

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/beancount/c50216d3-8623-4638-9d13-ffbdd57afc59n%40googlegroups.com.

Reply via email to