Looker lets you schedule periodic delivery of a user-defined dashboard, a Look’s visualization, or a Look’s data to an SFTP server. Sending results to an SFTP server is a good method to use when your data or visualization is too large to send via email. If you choose this delivery option, Looker prompts you for the SFTP server address, user name, and password as described below.
To receive SFTP deliveries from Looker, be sure your network admin has added Looker’s IP addresses to your SFTP server’s IP whitelist or inbound traffic rules.
Depending on how your Looker admin has configured your permissions, the default delivery destination may be email, and this setting may not be visible.
If you receive the error
Java::JavaLang::NullPointerExceptionswhen delivering data to an SFTP server, see the Help Center article on how to deal with this Java error.
Creating and Editing Schedules
After starting a schedule, Looker displays a dialog box with your scheduling choices. If your Looker admin has given you the proper permission, you will see the option to deliver to SFTP. Here is an example of a Schedule dialog box for a dashboard:
The following sections explain each scheduling setting for SFTP server destinations. For a description of all scheduling options, see the main scheduling documentation page.
Naming Your Delivery
Give the content a unique title in the Give your schedule a name field. The title is included in the filename of the data delivery. The filename of the data delivery follows the format
HASH is a random six-character identifier and
TIMESTAMP follows the pattern
YYYY-MM-DDTHHMM (for example, the timestamp portion would look like
2019-05-31T0933 for May 31, 2019 at 9:33 AM).
Delivering to SFTP
In Destination, choose SFTP. If your destination is an SFTP server, Looker prompts you for the URL and login information for the server:
Address: The URL or IP address of the SFTP server to which you want to send your data. For example:
This example URL ends with the
/character. This indicates that the file will be saved in a folder named
In. If you leave out the trailing
/, the file will be saved in the
Marketingfolder, and "
In" will be prepended to the filename. You must have write access to the folder in which you want to create the file.
Username and Password: Login credentials for the SFTP server
Currently, SFTP support is limited to user name and password credentials. SSH private key credentials are not supported.
Looker stores SFTP fingerprints for your SFTP server. If you encounter errors with your SFTP delivery, it could indicate that the SFTP fingerprints are invalid. In this case, contact your Looker admin.
To learn more about other types of data delivery, see the page for each destination option: email, Amazon S3 bucket, applications using a webhook, or one of several integrated services.
Formatting the Data
In the Format data as section of the pop-up, choose the format for the data in your delivery.
Formats for Dashboards
- PDF: The dashboard in PDF format. The default layout displays tiles as they are arranged in the dashboard, but other layout and sizing options are available under Advanced Options.
- Visualization: The dashboard visualization in a single image file. The default layout displays tiles as they are arranged in the dashboard, but other layout options are available under Advanced Options.
- CSV ZIP file: The unformatted data from the dashboard delivered as a collection of comma-separated values (CSV) files in a zipped directory.
Formats for Looks
You must save your Explore as a Look to schedule its content.
- CSV: The data table as a comma-separated text-file attachment.
- XLSX: The data table as an Excel file attachment.
- JSON — Simple: The data table as a JSON file attachment. In this format, Looker uses a dimension or measure’s field name as its rendered value rather than the field’s label.
- JSON — Detailed, Inline: The data table submitted directly in JSON format, with additional details such as field metadata, cache information, the time when the query was completed, and how long it took the query to run. In this format, Looker uses a dimension or measure’s field name as its rendered value rather than the field’s label.
- Text: The data table as a tab-delimited text-file attachment.
HTML: The data table as an HTML file attachment.
See the Change in JSON Formatting Looker Community topic for more information about how Looker renders fields in JSON format.
Applying Filters to the Delivery
If you are delivering a Look or dashboard that has filters, you can filter the results delivered to each set of recipients. For example, you might send regional teams results that are filtered for their states of interest:
Click Filters to see and modify the filters associated with this Look or dashboard for your data delivery. Changing these filter options in the Send or Schedule window does not change the filters in your Look or dashboard. If a dashboard filter requires a filter value and the schedule filter is blank, a schedule will display no results upon delivery.
If you change field names that serve as filters in your Looks or dashboards, be sure to review the Filters section of your scheduled Looks and dashboards and update the filters as needed to reflect your changes. If a scheduled content delivery includes filters that no longer function (for example, if the referenced field has changed), the scheduled delivery could expose unfiltered data.
To make custom deliveries even easier, you can use the matches a user attribute filter option if your Looker admins have configured user-specific values, called user attributes. Setting a filter to one of these attributes automatically customizes the results for each user, meaning that you can send customized results to many users even if you select Send only once. You can read more about user attributes here.
Using Advanced Options for SFTP Servers
The Advanced options section provides additional customization for your schedule. Click the arrow next to Advanced options to expand this menu.
For Looks not using the JSON—Detailed, Inline format, you can add conditions for when the data will be delivered:
- Send this schedule if: You can send the data only if there are results, only if there are no results, or in either case. With this option, you can send data deliveries only when the filters of your Look are met (or not met). For example, you can create filter conditions for situations you want to monitor, such as items that are below a certain amount in inventory, expenditures that are above a certain value, and so forth.
- and results changed since last run: This option cuts down on unnecessary data deliveries. Looker sends the data only if the query results have changed since the last data delivery was sent. This option is not available if you want to use the All Results limit option.
Streaming Query Results
Streaming refers to Looker's ability to process data in chunks, rather than all at once. If Looker can stream a result set, then unlimited downloads are possible and you can send All Results. In addition to the format requirements mentioned above, there are two cases where streaming is not possible:
- Table Calculations: Table calculations cannot be streamed. Therefore, to download unlimited results for a query, you must remove table calculations from the query.
- Database Limitations: Some databases cannot stream if pivots are included in the query. For these databases, you must remove pivots to download unlimited results. Some databases can't stream any results, which means that unlimited downloads are not possible. Below is a list of what databases support streaming, as well as databases that support streaming with pivots applied:
When scheduling Looks, you can limit the size of your delivery. Select one of the following limit options for your data:
- Results in Table: Data is sent as a single delivery.
- All Results: Data is streamed (see more in this Help Center article). This is useful for large datasets, as it bypasses file-size, browser, and memory limitations.
If you choose Results in Table, Looker will obey whatever row limitations you've set up in the saved Look. If you choose All Results, Looker will return all the rows of the query, regardless of the saved Look settings, and regardless of Looker's typical 5,000 row limit. This can be desirable for retrieving very large datasets, but you should use caution to ensure the query is not too large for your database.
Apply Visualization Options
For Looks, CSV-formatted dashboards, and Explores (if sending a one-time delivery), you can configure whether you want the data delivery to use the same options as your visualization:
Select Apply visualization options to apply some of the visualization settings to your delivery, causing your delivery to appear similar to a table chart. Any of the following settings in the Plot, Series, and Formatting menus that are configured for the visualization will be applied to the data delivery:
- Show Row Numbers
- Hide Totals
- Hide Row Totals
- Limit Displayed Rows to a maximum of 500 rows shown or hidden
- Show Full Field Name
- Custom labels for each column (the JSON — Detail, Inline format always uses raw field names, not the field label — see the Change in JSON Formatting Looker Community topic for more information about how Looker renders fields in JSON format)
- Conditional Formatting for deliveries of table chart visualizations in Excel format
Conditional formatting will display in Excel deliveries of Looks and Explores with table chart visualizations only if the Along a scale rule is applied.
Unselect Apply visualization options if you do not want these visualization options applied. Looker sends the data as it appears in the Data section of the Look or a dashboard tile's Explore from Here window. JSON — Label uses the field label, even if Apply visualization options is unselected.
Formatted Data Values
For Looks and the CSV format of dashboards, you can configure the data's formatting:
- Select Formatted data values if you want the data to appear more similar to the Explore experience in Looker, although some features (such as linking) aren't supported by all file types.
- Unselect Formatted data values if you do not want to apply any of the special formatting of your query results, such as rounding long numbers or adding special characters, that your Looker developers may have put in place. This is often preferred when data is being fed into another tool for processing.
Single Column Layout
For dashboard deliveries in PDF or Visualization format, you have the option to print your PDF in a single column layout, which displays dashboard tiles in a single vertical column. Check the Use single column layout box to use this option, or leave the box unchecked to show the tiles as they are arranged in the dashboard.
To display all rows of a data table — rather than just those rows that display in the dashboard tile thumbnail — in a PDF dashboard delivery or download, check the Expand tables box. If you do not see the Expand tables option, talk to your Looker admin about installing the appropriate version of the Chromium renderer for your Looker instance.
By default, Looker uses the time zone associated with your account to determine when to send your data delivery. If you don't have a time zone associated with your account, Looker uses your Application time zone. If you want to specify a different time zone, select Use custom timezone. The time zone you select does not affect the data in your Look or dashboard, just the timing of the delivery.
You have the option to specify the optimal size and orientation of dashboard PDFs by selecting from the Paper size drop-down menu. Large visualizations or groups of overlapping dashboard tiles may need to be resized to fit cleanly on a PDF page. If you do not see the Paper size option, talk to your Looker admin about installing the latest version of the Chromium renderer for your Looker instance.