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

Embed reports in a website publish to web

Embedded reporting means that reports created in a BI tool are integrated into another web application and users access and interact with reports without leaving the context of the application they are using.

SeekTable fully supports this usage scenario: with report's Share → Get Link function you can easily publish it to web and use report's public link for sharing/embedding purposes. Integration is really simple: to embed a published report it is enough place an iFrame tag with report's public link.
Also report's public link is suitable for inclusion into Medium articles and sharing in social medias like Facebook or Twitter.

By placing several iFrames on the same 'host' page you can organize custom dashboards; for SeekTable installations (on-premises) it is possible to use built-in interactive dashboards (created inside the app).

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.

Looking for a secure reports embed? This is possible in the self-hosted SeekTable (or dedicated instance).

How to embed your 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 dashboards by embedding several reports on one web page; for example take a look to this dashboard with a common filter that affects all embedded reports. For advanced reports composition SeekTable has built-in dashboards, but this capability is available only in a self-hosted version.

Embed using oEmbed

SeekTable supports oEmbed for published report links:

You can copy-paste the report public URL to embed your reports into platforms that support oEmbed such as Medium and Reddit. SeekTable is registered as a provider on embed.ly which means that SeekTable reports may be easily embedded in many apps that use Embedly API.

User-entered report parameters URL filters

If cube has report parameters you can provide their values with report_parameters in the public report URL; this should be URL-encoded JSON object, for example:

How to enable inputs (UI controls) to allow end-users enter report parameters for an embedded report:

  1. Configure at least one (or more) report parameters in report's cube
  2. Publish a report to web (create a public link as described above)
  3. Embed the report into your host web page with iFrame

  4. Users with "Advanced publishing"
    Go to "Configure published report" form and enable inputs for parameters by choosing them in a dropdown.
    Free users
    Add neccesary HTML inputs for report parameters on your host page (where iFrame is placed) and when user changes these inputs host page should reload iFrame with an URL that contains new values of report parameter(s).
    You may use a js code from this example and adopt it for your own report parameters and input controls.

Advanced publishing/embedding paid subscription for advanced 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 inside 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's export directly via URL [public_link]/export/[format], for example:

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

Default export's download filename is "Export"; alternatively this can be a report caption (via option on "Configure Published Report" form) or any custom filename provided with export_filename URL parameter.

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 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. With additional settings you can:

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 custom filters you can avoid ugly IFRAME reload and refresh the report with new parameters in the following way: example.

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

Data refresh in published reports

Published (embedded) reports update as the underlying data changes, or when you change them in your SeekTable account. For CSV cubes all connected reports are updated immediately when a newer CSV file is uploaded to refresh existing cube. In all other cases - when SeekTable is connected to a database or data warehouse - summary reports data (charts & pivot tables) may be cached for a short time (max 10 minutes, configurable in SeekTable installations). In addition to that:

Customize report table with JS code

It is possible to run some JS code each time when report's table HTML is rendered by placing <script> block in the Custom HTML (ShareGet LinkConfigure form). This is useful when you want to apply custom UI or modifications only to exact table's cells (to determine these cells custom HTML formatting can be used to wrap them with a special <div>), for example:

<script>
$(function() {
  report.$tableHolder.on("onTableRender", function() { 
    report.$tableHolder.find(".cellMarker").each( function() {
	  // do something with marked cell's content 
    });
  });
});
</script>

Note that Custom HTML is available only in on-prem SeekTable and only if white-label mode is activated.