The Content Validator searches your LookML for the model, Explore, and field names that are referenced in your Looker content. It's a useful tool for validating your LookML references, for fixing errors in your LookML after you have made changes, and for updating the names of LookML elements across your project.
You must have the develop
permission to use the Content Validator.
To open the Content Validator, select Content Validator from the Develop menu in the left navigation panel. From here, you can use the Content Validator in two ways:
- Click Validate to find and fix errors that were caused by changes in your LookML model.
- Click Find & Replace in All Content to find and replace the model, Explore, or field names across your Looker content, whether or not there are errors in the Looker content.
Before using the Content Validator
You must be extremely careful when making changes using content validation. The Content Validator does not have an undo function, and it has the potential to impact many Looks and dashboards, along with their Explore from Here links. If you do make a mistake, you should attempt to correct it as soon as possible, before additional changes make it harder to isolate the affected Looks.
Also, consider your timing when using the Content Validator. When you push development changes to production you should fix affected Looks and tiles at approximately the same time, so that they are broken for the minimum amount of time. If you fix Looks and tiles too early, based on your work in Development Mode, they will appear broken to users until you push your changes. Similarly, if you delay in fixing Looks and tiles until long after pushing the changes, the Looks and tiles will appear broken to users until you fix them.
Using the Content Validator to fix errors
The Content Validator is a useful tool for finding and fixing errors resulting from changes in your LookML. For example, if you change a field name from customer
to user
, any Looks or dashboard tiles that included the customer
field will no longer function (unless you used the alias
parameter). The Content Validator will list any references to the customer
field, and will also provide an easy way to fix the error.
When you run the Content Validator, it validates all references that your Looks and dashboards make to your LookML models, Explores, views, and fields, and will show an error for any references your content makes to an unknown LookML object.
The Content Validator does not show errors for the following:
- Content for which you do not have
develop
permission. The Content Validator is scoped to your permissions, so that you can only use the Content Validator on the content for which you havedevelop
permission (the models you can see in the Looker IDE). See the Roles documentation page for information on model permissions. - Looks that have been deleted and are in the Trash. If you want to validate a deleted Look, your Lookeradmin must restore the Look first.
Running the Content Validator
To validate your LookML with the Content Validator:
- Click Validate.
- Select the Group by tabs to change how errors are grouped:
- Error: List each error, grouping together the Looker content that has the error. This is useful if you want to fix the same error in multiple pieces of content at once.
- Folder: List each folder, grouping together the Looker content that has errors. This is useful if you want to fix only the errors in a particular folder.
- Content: List each piece of content that has errors, grouping together its errors. This is useful if you want to fix all the errors in a single Look, tile, filter, etc.
- If you are in Development Mode, Looker provides a warning message. It's important to understand the implications of changing Looks and tiles. If you "fix" them before making your breaking changes live, there will be a period of time when the fix is premature, so users will experience broken Looks or tiles. The warning message helps you remember this.
- The error table displays any error, along with a list of Looks and tiles that contain the error, plus the underlying model and Explore that are producing the error. You can use the Group by tabs at the upper right of the page to change the layout of the error table.
- Looker provides the Replace and/or Remove buttons for each row, depending on the error type. These buttons provide functionality to fix the errors and are described in more detail below.
Viewing the content validation results
The content validation results show Looker content that uses model names, Explore names, view names, or field names that do not exist or can't be found. See the Using the Content Validator to fix errors section for details about the LookML elements that the Content Validator can find and validate.
The icon next to the content's name identifies the content type:
- — Dashboard tile
- — Dashboard alert
- — Schedule for a dashboard or Look
- — Filter for a dashboard, or a field on a tile that listens to a dashboard filter (see the Adding and editing user-defined dashboard filters documentation page for information on configuring tiles to listen to dashboard filters)
Validation results are based on the LookML that is available in the mode you're in when you run the validator. If you are in Production Mode, the validation results will reflect all LookML that has been pushed to production. If you are in Development Mode, the validation results will reflect your saved LookML, even if it hasn't been pushed to production.
Errors may be caused by intentional changes in your LookML as well as a typo or a missing join.
To adjust errors, you can use the Replace and Remove buttons in each line of the error table as follows:
- Replace: Looker provides the Replace button for each error (see the Replacing names for fields, views, Explores, and models section later on this page for how to replace names with the Content Validator).
- Remove: For errors with field names in the Data section of a Look or tile, Looker also displays the Remove button (see the Removing a field name section later on this page for how to remove names with the Content Validator).
Depending on your Group by setting, the buttons will apply to a single item (Look or tile), or to multiple items:
- If you group by Error, the buttons apply to all occurrences of that error in all Looks and tiles on your Looker instance — which lets you fix all occurrences in a single operation.
- If you group by Folder or by Content, the buttons apply to one occurrence of the error in a single Look or tile — which lets you consider each occurrence of the error separately.
For example, an error table is grouped by Error and displays three instances of content with an unknown Explore named customers
. The action provided for the three pieces of content is Replace. Clicking Replace would affect all three instances of content with the error 3 x Unknown explore 'customers'
.
In some cases, multiple errors may exist for pieces of content. For example, an error table is grouped by Content and displays a piece of content called Order Details. There are four Unknown field
errors displayed in the Errors column, and each error has its own Replace and Remove action buttons in the Actions column.
In addition, if you group by Content, you have the additional option to delete Looks.
Replacing names for fields, views, Explores, and models
The content validation results include a Replace button for the following types of elements so that you can rename them:
- Model names in Looks and dashboard tiles
- Explore names in Looks and dashboard tiles
- View names in custom filters or table calculations
- View names in Looks and dashboard tiles
- Field names:
- In the Data section of a Look
- In a query-based dashboard tile
- Referenced in table calculations
- Referenced in custom filters
- Referenced in custom fields
- Referenced in visualization configurations, such as the Customizations area of the Series tab for column charts
- Referenced by a dashboard tile to listen to a dashboard filter (this is configured in the Tiles to Update tab of the filter configuration window, described on the Adding and editing user-defined dashboard filters documentation page)
For any of these errors, you can use the Content Validator to replace an attribute of the content that is equal to or more general than the attribute that is erroring:
- If a field is erroring, you can replace/remove the field, or you can replace the view, Explore, or model name.
- If an Explore name is erroring, you can replace the Explore name or the model name.
- If a model name is erroring, you can replace the model name.
Here's how to use the Content Validator to replace the names of elements in your model:
- Click Validate to run the Content Validator.
- Select a Group by setting to choose how errors are grouped. For example, you can group by Error so that you can adjust multiple items at the same time.
In the error table, click the Replace button next to the error that you want to correct to open the Update in Content dialog.
In the Type section of the Update in Content dialog, select the type of LookML element that you want to change: field, view, Explore, or model. Looker displays the appropriate options for each error.
In the Name section, verify the name of the item that you want to replace. The Content Validator fills this information in automatically.
In the Replacement Name section, enter the new name of the item.
If you have grouped by Error and there are multiple items that will be affected, you can click Show Content to see a list of items that the Content Validator will update.
Optionally, you can clear the checkboxes next to any listed items to leave their names unchanged.
To make the change, click Replace.
Removing a field name
For errors with field names in the Data section of a Look or tile, the error table will provide a Remove button to the right of the error. You can use the Content Validator to remove fields that are:
- In the Data section of a Look or dashboard tile
- Referenced in visualization configurations, such as the Customizations area of the Series tab for column charts
- Referenced by a dashboard tile to listen to a dashboard filter (this is configured in the Tiles to Update tab of the filter configuration window, described on the Adding and editing user-defined dashboard filters documentation page)
You cannot use the Content Validator to remove fields from custom filters, custom fields, or table calculations, because typically you need to make additional changes to keep the expression working. Instead, use the content validation error messages to find places where custom filters, custom fields, and table calculation expressions need to be fixed, and then rework the expression as appropriate.
- Click Validate to run the Content Validator.
- Select a Group by setting to choose how errors are grouped. For example, you can group by Error so that you can adjust multiple items (Looks, tiles, or both) at the same time.
In the error table, click Remove next to the field error that you want to correct to open the Remove Field from Content dialog.
In the Field section of the Remove Field from Content dialog, verify the name of the item that you want to remove. The Content Validator fills this in automatically.
If you have grouped by Error and there are multiple items (Looks, tiles, or both), you can click Show Content to see a list of items that the Content Validator will update.
Optionally, you can clear the checkboxes next to any Looks or tiles to leave their names unchanged.
Click Remove Field to make the change.
Deleting Looks
If you group the error table by Content, you have the option to delete Looks in the table.
To use the Content Validator to delete Looks:
- Click Validate to run the Content Validator.
- Group the table by Content.
- In the error table, click the Select box next to the Look or Looks that you want to delete.
- Click Delete all selected Looks.
- Click OK in the confirmation box to delete the selected Look or Looks.
Using the Content Validator to find and replace
The Content Validator can also be used to search and replace the names for models, Explores, and fields. For example, you might decide that you prefer one field over another and want to make that replacement in your project, even though there is no error. The complete list of elements that the Content Validator can search/replace is provided in the Replacing names for fields, views, Explores, and models section.
To use the Content Validator as a find and replace tool:
- On the Content Validator screen, click Find & Replace in All Content to open the Update in Content dialog.
- Select the Type of LookML element that you want to change (field, view, Explore, or model).
- Enter the Name of the item that you want to replace.
- Enter a Replacement Name for the field, view, Explore, or model.
- Click Replace to make the change.
Things to consider
Plan to rerun content validation to view the results of any fixes you make.
Note the following about the Content Validator:
- For views, Explores, or models, you can change their names but you cannot remove their names entirely. See the Removing a field name section for a list of items that you can remove with the Content Validator.
- Table calculations can only reference fields that are included in the query of a Look or tile. This means that if you remove a field from a Look or tile's query but a table calculation still uses that field, you'll get a new content validation error.
- Looks that have been deleted and are in the Trash page will not be validated. If you want to validate a deleted Look, your Looker admin must restore the Look first.
- If you are in Development Mode, the validation results will reflect your saved LookML even if it hasn't been pushed to production. However, any changes that you make using the Content Validator will affect users viewing content in Production mode. Consider switching to Production mode before running the Content Validator.