Forms: Database Collector
A Database Collector reads data from a PhixFlow Datasource. It holds the SQL that will be sent to the datasource to retrieve data.
The query columns must match up to any Streams saving the data.
Form: Database Collector Details
The following fields are configured on the Details tab:
Field | Description | ||
---|---|---|---|
Name | Name of the database collector. | ||
Datasource | The datasource that this database collector will collect from. | ||
Query String | Query to be processed by the database collector to retrieve data from the database. | ||
Enabled | Tick when the configuration is complete and the database collector is ready to be used. | Allow Non-Scheduled Collection | If this is turned on, then the database collector will run as part of any ad-hoc Analysis Engine run which requires this data. If not, it will only run as part of a scheduled Task Plan under the Analysis Engine |
Advanced | |||
Timeout | A timeout for the query. | ||
Datasource Instance Expression | The datasource to which this database collector is connected may list multiple database instances from which the data may be read. Each Datasource Instance is identified by a unique string. This expression should evaluate to a plain text string which allows the database collector to determine the specific instance to use. If the expression is blank then the database collector will assume that there is only one instance and will use that one by default. If there is more than one instance and no expression is provided here then an error will be thrown during analysis since the database collector will be unable to determine which instance to use. |
The following fields are configured on the Query String tab:
...
The following fields are configured on the Description tab:
Field | Description | |
---|---|---|
Description | Allow Non-Scheduled Collection | If this is turned on, then the database collector will run as part of any ad-hoc Analysis Engine run which requires this data. If not, it will only run as part of a scheduled Task Plan under the Analysis Engine. |
Description | ||
Description | Optional: A description of the database collector. |
Anchor | ||||
---|---|---|---|---|
|
The query string must bring back data in fields with the same name as the stream attributes you wish to populate. So to collect data into a stream with attributes account_number, cust_ref and eventsource from a table with fields account_number, customer_ref and eventsource use the query string:
...
Make sure you do not include the standard sqlplus terminator (in Oracle, this is a semi-colon).
Complex replacement expressions
You can use more complex PhixFlow expressions in queries where necessary. To do this, precede the expression (inside curly braces) with an = sign. For example
...
There are some disadvantages when using = to precede an expression, as noted below, and therefore you should only use this when really necessary. For example, where the table or column names can vary, and are controlled by input data to the query - as in the above example, where part of the name of the table being queried is returned by a macro Macro "accBlockString", based on an input value "_out.BlockID".
...
Similarly dates in expressions preceded by = must be formatted as required by the syntax of the source database.
Merging directly from a database collector
If you are collecting data directly into a merge, you must match in your query the ordering which is represented by the grouping in the input pipe from the collector into the merge. For example, if you have specified Customer and Product as the grouping attributes on the pipe connecting the collector to the stream then you must include the appropriate order by expression in the SQL to ensure the data is sorted by customer and then product.
Anchor | ||||
---|---|---|---|---|
|
HELPDEVTODO - not yet in property editor or hover menu
Clicking runs the SQL and pops up a Data Grid showing the first page of returned data. It is not necessary to save the query to use this option.
Anchor | ||||
---|---|---|---|---|
|
Clicking From the hover menu from a database collector on a Model View, clicking creates a new Stream with the attributes implied by the query. The new Stream will be shown on the modelling pane connected to this Database Collector.
...
PhixFlow wraps the query with a "where 1= 0" to avoid a long running statement.
Form Icons
HELPDEVTODO - only generate stream icon currently viewable only in hover menu
The form provides the standard form icons as well as the following: