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.
<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.
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.
SeekTable supports oEmbed for published report links:
https://www.seektable.com/public/report/*
https://www.seektable.com/public/report/oembed
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.
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:
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 Share→Get Link→Configure form:
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:
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.
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
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:
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.
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, "*");
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:
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 (Share→Get Link→Configure 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.