This documentation page assumes that you already have a SeekTable account. You can create free account by signing up.

Embed your report into website publish to web

With SeekTable's Share → Get Link function you can easily publish the report to web and share it with a public link, or embed your reports into other web pages, such as in custom dashboards, blog articles, corporate/intranet portals, social media etc. Embedded reports update as the underlying data changes, or when you change them in your SeekTable account.

To access embedded report users don't need to have SeekTable account; this means that the report you publish can be viewed by anyone on the Internet who knows the link. On cloud SeekTable published reports are cached for 15 minutes (free accounts) or 5 minutes (accounts with advanced publishing subscription); on self-hosted SeekTable you can use NGINX to configure published content caching as you need.

Looking for secure reports embedding? This is possible in case of self-hosted SeekTable.

How to embed the report with an iframe

  1. Go to the report you want to publish and get its public link (menu "Share"→"Get Link"). If you don't see "Get Link" item please ensure that you saved the report.
  2. Insert into your web page iframe HTML element:
    <iframe border="0" frameborder="0" 
        width="800"
        height="600"
        src="https://www.seektable.com/public/report/52e164d33144441582d6b9114eec12e8"></iframe>
    
    In src attribute specify your link of the published report; with width and height specify desired report size. IFRAME size may be responsive - say, you may specify width="100%" or change iframe size with javascript on-the-fly.
  3. As result you should get something like that (this is a report from demo.seektable.com.):

    If you want to hide report name this is possible with adding show_report_name=false parameter to the report public URL (this option works only when report is embedded with IFRAME).

You can easily organize custom web dashboards by embedding several reports on one web page; for example take a look to this JSFiddle example (full-screen view).

User-defined report parameters

If cube has report parameters you can provide them with report_parameters in a query string of public report URL, for example:

In this way you can enable user-defined report parameters for the report embedded into your web page:

  1. Configure one or more report parameters for your cube
  2. Publish the report to web with a public link
  3. Embed the report into your host web page with IFRAME and add input(s) for the report parameters(s) on your host page
  4. When user changes an input, host page should reload IFRAME with an URL that contains new values of report parameter(s)
Alternatively you can enable inputs for parameters with Advanced Publishing subscription, or apply parameters without IFRAME reload.

You may use js code from this JSFiddle example and adopt it for your own parameters and input controls.

Advanced publishing/embedding paid subscription capabilities

Users with this subscription can use advanced options for the published reports:

You can easily evaluate these features by activating free 14-day trial.

These advanced options may be enabled with URL parameters (as described below) or configured in SeekTable app with ShareGet LinkConfigure form:

Configure Published Report: Advanced publishing options

Enable exports for published report

To display export buttons specify export=pdf,excel parameter (comma-separated list of supported formats) which enables "Export to <format>" buttons at the ending of the report:

https://www.seektable.com/public/report/52e164d33144441582d6b9114eec12e8?export=pdf,excel

Supported formats are: pdf, csv, excel, html, json, excelpivottable (this one works only for pivot table reports).

You can initiate report export directly with URL pattern [public_link]/export/[format], for example:

https://www.seektable.com/public/report/52e164d33144441582d6b9114eec12e8/export/pdf

By default only data that is visible in the report web view is exported; if you want to export all data (disregard pagination and report "Limits" settings) you can specify rows/columns limit for export with export_limit=5000 parameter. Max possible value depends on the report type and export format:

Pivot Table
Max number of rows depends on the matrix size:
(number of rows) x (number of columns) should be <= 1,000,000
Flat Table
For PDF and Excel exports max export_limit value is 10,000. For other formats max number of rows is 50,000

Note: these limits can be increased in self-hosted SeekTable.

When report is embedded with IFRAME it is possible to place custom export buttons in the "host" web page and initiate export with javascript as illustrated by this JSFiddle example.

Enable sorting / pagination

Advanced publishing subscription enables pagination if published report is a large pivot table (otherwise only current 'page' is displayed). In addition to that, you can allow users to change table sorting by adding sort=true parameter:

https://www.seektable.com/public/report/52e164d33144441582d6b9114eec12e8?sort=true

Enable inputs for report parameters

You can enable inputs for entering parameters by viewers by adding parameter=filter_year,filter_country:

https://www.seektable.com/public/report/1b0509d283904b4995f6968bdd4793f7?parameter=filter_year,filter_country
filter_year and filter_country are parameter names specified in the cube configuration. Parameter order is important: inputs are displayed exactly in this order.

Refresh a report page automatically

Public report page can be refreshed automatically after some interval: users can keep public report link opened in the web browser and it will refresh automatically (without need to manually force page refresh). To enable auto-refresh add refresh_interval=5 parameter (interval value in minutes) to the report public URL, for example:

https://www.seektable.com/public/report/52e164d33144441582d6b9114eec12e8?refresh_interval=5

This feature is useful if you want to display real-time report or dashboard on wall-mounted screens in meeting rooms, reception areas, or around the office.
Note: minimal refresh interval is 5 minutes. If you need more frequent updates consider usage of self-hosted SeekTable: in this case you'll able to use refresh_interval=1 (every minute) refresh.

Apply user-defined parameters without IFRAME reload

If you use report parameters for embedded report data filtering you can avoid ugly IFRAME reload and refresh the report with new parameters in the following way (JSFiddle example):

var reportParams = {filter_year:1997};
var msg = JSON.stringify( {"action":"refresh","args":[reportParams]} );
window.frames.iframeName.postMessage(msg, "*");