# Preliminary Project Setup - Summary Plots

Create a chart for every variable set in the data set (excluding hidden and text variable sets)

This QScript creates a chart for every question in the data file (excluding hidden questions and questions that are Text or Text - Multi).

## How to apply this QScript

• Start typing the name of the QScript into the Search features and data box in the top right of the Q window.
• Click on the QScript when it appears in the QScripts and Rules section of the search results.

OR

• Select Automate > Browse Online Library.
• Select this QScript from the list.

## Customizing the QScript

This QScript is written in JavaScript and can be customized by copying and modifying the JavaScript.

• Start typing the name of the QScript into the Search features and data box in the top right of the Q window.
• Hover your mouse over the QScript when it appears in the QScripts and Rules section of the search results.
• Press Edit a Copy (bottom-left corner of the preview).
• Modify the JavaScript (see QScripts for more detail on this).
• Either:
• Run the QScript, by pressing the blue triangle button.
• Save the QScript and run it at a later time, using Automate > Run QScript (Macro) from File.

### Customizing QScripts in older versions

• Create a new text file, giving it a file extension of .QScript. See here for more information about how to do this.
• Modify the JavaScript (see QScripts for more detail on this).
• Run the file using Automate > Run QScript (Macro) from File.

## JavaScript

// also imports QScript Utility Functions for inDisplayr
includeWeb("QScript Selection Functions");
includeWeb("QScript Functions to Generate Outputs");

const is_displayr = inDisplayr();
const data_file = requestOneDataFileFromProject(true);
// From here a user will have selected a file or only have one possible file in the document.

function entirelyMissing(question) {
return question.variables.every((v) => {
let vattr = v.valueAttributes;
return v.rawValues.filter(x => !Number.isNaN(x) &&
!vattr.getIsMissingData(x)).length === 0;
});
}

let questions = data_file.questions.filter(q => !q.isHidden &&
q.questionType.indexOf("Text") == -1 &&
!entirelyMissing(q)).map(q =>
({primary: q, secondary: "SUMMARY"}));
let page_names = questions.map(q => q.primary.name);
let report = createReport("Summary Plots", questions, page_names,
null, null, [], false, Infinity, false, true);

if (report.subItems.length == 0)
log('No plots were created. All variables in the data file are either text, ' +
' hidden, or contain entirely missing values.');
else if (!is_displayr)
conditionallyEmptyLog('A group of summary plots has been added to the project.');