Learn to configure the <table>
element for Pull Reports™ Ad Hoc
report and data service software.
Catalog Configuration Java API analog:
TableConfigurationBuilder
A <table>
element represents one relational database table within the report configuration. Every <report>
has exactly one <table>
or <table_ref>
direct
child called the base table which is always included in Export Report REST API
SQL joins and export results. Nest additional <table>
s within child <relationship>
elements of the base table
to extend the report's join tree.
A <table>
must map to one TABLE (or VIEW or MATERIALIZED VIEW) in the underlying relational database
via the name
attribute or contain a child <subquery>
element which
defines the <table>
's subquery.
Global tables: A global <table>
is
configured as a direct child of a <catalog>
. Global tables allow
one <table>
configuration to be used multiple times within a <catalog>
. Global <table>
s are referenced
via <table_ref>
s. For an example of global table usage see
the section called “Catalog with multiple <report>
s using <table_ref>
”.
See the <report>
and <relationship>
documentation for example usage.
<description> ? |
<subquery> ? |
(<column>
| <column_group_ref> )+
|
<pre_filter> * |
<relationship> * |
<catalog> |
<relationship> |
<report> |
Specifies the id
of the <table>
within
table resource path statements.
If the <table>
is a global table,
the id
must be unique within the parent <catalog>
.
Additionally, all <table>
s and <table_ref>
s nested within <relationship>
s
with the same <table>
join parent must have unique id
values between themselves.
This requirement ensures that each table resource path
uniquely identifies one <table>
or <table_ref>
within a <report>
.
The human-readable table name.
The name of the table or view in the database. This name
may be dot (.)
preceded with a schema name. For instance,
schema_name.table_name
.
The name
attribute is required unless the
<table>
has a child <subquery>
element. The name
attribute is also required if the <table>
has a child a <subquery>
with a
provider
attribute and the referenced SubqueryProvider
returns a Subquery which in turn returns the empty Optional from the getValue
method.
A comma separated list of <column>
ids which are the table's primary keys.
This attribute is required for each table with at least one descendant
<relationship>
of cardinality many
in order for the
<report>
to support the
jsontree
and
htmltree
export formats.
The column ids referenced by primaryKeyColumns
may not contain <output_transform>
s because the column values
are used in jsontree
and htmltree
exports
to filter tree results.
See the <relationship>
documentation
for example usage.