Various documentation pages discuss the business user features for exploring data and for finding, viewing, organizing, sharing, sending, scheduling, and downloading content. Many of those features have Looker admin-specific or developer-specific functionality or must be enabled by a Looker developer. This page organizes all the sharing, downloading, scheduling, sending, public sharing, importing, and embedding features onto one page for easy access.
Sending and Scheduling Data
Sending and scheduling data may require some system administration considerations.
Managing Scheduling Issues
In the Admin section of Looker, admins can use the Scheduler Plans and Scheduler History pages to look up and resolve schedule issues. Admins should be careful about deleting or disabling a user who may be the owner of important scheduled deliveries, because the schedules are also deleted or disabled.
Rendering Image-Based Data Formats for Sending and Scheduling
When scheduling or sending Looks and dashboards, PhantomJS is required to render these data formats:
- For dashboards: PDF (Tiled), PDF (Single Column), Visualization (Tiled), Visualization (Single Column)
- For Looks: Visualization, HTML
If your instance is hosted by Looker, this software is already installed.
If you’re hosting your Looker instance on-premise, follow the instructions below to install PhantomJS. Make sure you install PhantomJS into an executable path on the same machine as the one on which the Looker instance is hosted. Looker requires PhantomJS 2.1.1+ to run. When upgrading from earlier versions of PhantomJS, you must restart Looker for the new version to be recognized. If Looker detects an older version, it will default to the old behavior where PDFs have one page per visualization instead of the optimized dashboard layout.
To install PhantomJS:
Get the correct binary for your platform from the official PhantomJS repository. PhantomJS is available for Mac, Windows, and various distributions of Linux. For example, the 64-bit Linux version 2.1.1 is:
On Linux, you will need to untar the file. For example:
tar -xjf phantomjs-2.1.1-linux-x86_64.tar.bz2
Copy the bin/phantomjs binary to a place that is in your system's path. On Ubuntu we recommend
/usr/local/bin. For example:
mv phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/
Verify that PhantomJS is installed and is the correct version:
You should now be able to schedule, send, and download data in image-based formats.
Rendering Emailed Images
The Easy to Read Email Images Labs feature allows the email client to determine the optimal image size for images sent or scheduled in the body of emails. This Labs feature is on by default. If images appear distorted when delivered by email, your users’ email client may be incompatible with this feature. You may want to consider disabling the Labs feature.
This section includes admin-specific or developer-specific functionality and tips for the business user downloading data feature.
Rendering Image-Based Data Formats for Downloads
When downloading data, PhantomJS is required to render these data formats:
- For dashboards: PDF (Tiled), PDF (Single Column), HTML, PNG (Image of Visualization)
- For Looks: HTML, PNG (Image of Visualization)
Refer to the PhantomJS installation instructions in the Rendering Image-Based Data Formats for Sending and Scheduling section above.
Downloading Data from Dashboard Tiles without Download Permission
Typically, a user requires a role that includes the
see_user_dashboards and either the
download_without_limits permissions to view and download data from tiles on a dashboard. There is a condition, however, where a user can see and download data from a model to which they do not have those permissions. It occurs when the following is true:
- A dashboard has tiles that are based on queries from more than one model.
- A user is assigned one role that includes the
view_dashboardand either the
download_without_limitspermissions to one of the models on which the dashboard is based.
- The user has a second role that has only the
access_datapermission to another model on which the dashboard is based.
In this case, that user can view and download data from the entire dashboard, including tiles based on models to which the user does not have permissions to view or download data.
Large Excel Files Hanging or Not Opening
For downloads or deliveries of large Excel files (files over 5 GB), the download or delivery screen may appear to freeze, or you may be unable to open the delivered file. Here are some conditions that can cause this behavior, and how you might fix it:
- Large Excel file data deliveries can time out while streaming. In this case, try sending or downloading your data in the CSV format, which you can then import into Excel.
- Large Excel files sometimes are delivered successfully, but are too large to open locally. In this case, break your data delivery into smaller CSV files so that they will load successfully by the destination client.
- You may need an increase in temporary storage space on your Looker instance. Please contact your Account Manager or firstname.lastname@example.org.
Preventing Injection of Malicious Code into CSV Files
CSV files can contain macros that can run on Microsoft Excel or Google Sheets. Because of that, it is possible to inject malicious code into CSV files, making CSV files a possible security risk.
To remove this risk, Looker admins can request a license update that causes Looker to pad any value in a cell that could be executable code. When this is enabled, Looker will add a
' character to any cell value that begins with a special character (
@) when generating a CSV file. This disables all macros in Looker-generated CSV files.
Please contact your Account Manager or
email@example.com if you want to update your license for this feature.
Some Looker behaviors visible to your business users may differ for on-premise Looker instances.
Sending and Scheduling Data to Streamed Destinations with Action Hub
Looker hosts and provides a stateless server, Action Hub, that implements Looker’s Action API and exposes popular actions.
With the Looker Action Hub you can send and schedule data from within Looker to other SaaS tools automatically. Sending or scheduling data to destinations that support streaming relies on synchronous queries running between Action Hub and Looker’s executable server, or
.jar, file. For hosted Looker instances, these sources are configured to communicate, but users of on-premise instances may experience hanging queries when sending or scheduling data to streamed destinations if the on-premise
.jar file from Looker is not able to communicate with Looker’s Action Hub.
One solution to address this potential issue is to host an on-premise Action Hub. Looker’s Action Hub service is open source so that you can contribute additional actions or host an instance of the service within your own infrastructure. Learn more about deploying Action Hub on-premise on this page.
Another solution is to ensure that the executable server file is hosted in a public server so that Looker’s Action Hub can communicate with it.