This documentation page assumes that you already have a SeekTable account. Create your free account by signing up.

Oracle pivot table reports

Oracle Database can be used as a data source with SQL-compatible database connector. With SeekTable you can create real-time reports (pivot tables, charts, usual tables) and perform ad-hoc queries to your Oracle database with simple UI, without need to write an SQL.

There are no any limitations on the dataset size, but your Oracle should be able to execute aggregate queries fast enough (in seconds; 2 minutes max).

Oracle connection setup

Connection String should be a valid connection string for .NET Oracle Data Provider; for example:

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostName)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=serviceName)));User Id=user;Password=password;Validate Connection=true;
HOST Specifies the host name of the machine on which the Oracle Database is running.
Do not use "localhost" or LAN server name; use only public IP address or server's domain name.
SERVICE_NAME specifies the name of the database service.
User Id Oracle user name. It is recommended to create special user with read-only rights.
Password Password for the user specified by User Id.
Validate Connection Set this option to prevent ORA-12570: Network Session: Unexpected packet read error errors that may occur from time to time (this may happen if Oracle server closes 'idle' connections too fast).

Date-part dimensions calculated with SQL expressions

To define date-part dimensions (date's "year", "month", "day" etc) you may add dimensions defined with an appropriate SQL expression:

  1. add new dimension with Type=Field
  2. fill Name with some unique value: say, "date_column_year"
  3. add one Parameter which should be a date-part Oracle SQL expression:
    • For year: EXTRACT(YEAR FROM date_column)
    • For month: EXTRACT(MONTH FROM date_column) + Format={0:MMM} (Jan, Feb etc) or {0:MMMM} (January, February etc)
    • For day: EXTRACT(DAY FROM date_column)
    • For day-of-week: EXTRACT(date_column, DAY_OF_WEEK)-1 + Format={0:ddd} (Mon, Tue etc) or {0:dddd} (Monday, Tuesday etc)
    • For quarter: EXTRACT(date_column, QUARTER)
    • For week-of-year: EXTRACT(date_column, WEEK)
Looking for an embedded solution? Try PivotData microservice which can be seamlessly integrated into any web application and generate pivot tables by Oracle with simple web API.