Custom reports

A custom report is a chart or table that is built using AA2, an XML-based framework created by Medallia. Custom reports were previously referred to as "advanced analytics" or "AA2" reports.

For an introduction to custom reports, watch this 90-second video (transcript here):

Consider building a custom report in either of these circumstances:

  • There is not already a standard report module or dashboard module that fits your company’s needs
  • You want to export data as a report, rather than at the record level

Medallia recommends that you do not create custom reports that include extremely wide or long tables, which are difficult to navigate and can slow performance. Medallia also recommends that you only create custom reports for data you can visualize as a table.

Note: The only exception to this last recommendation is dials, which cannot be visualized easily as tables. For dials, use an XML template as a starting point.

You can use custom reports in the following areas of Medallia Experience Cloud:

  • Dashboards — The first page (and default view) a user sees when they sign in to Experience Cloud. Most custom reports are created for dashboards. For more information, see Dashboards.
  • Push reports — A report that Experience Cloud emails to users automatically on a regular schedule. You can include multiple reports in a single push report. For more information, see Push reports.
  • Exported reports — Custom reports that Experience Cloud sends to an FTP or email address. Similar to push reports, you can configure Experience Cloud to export custom reports on a regular schedule. However, Experience Cloud can export only one custom report at a time. For more information, see Exporting.

For more information about AA2 XML, including an overview, tutorials, and information about displaying custom reports in dashboards, see Custom Module.

Creating a custom report in Setup

Creating an custom report involves specifying various fields and coding the report in AA2 XML.

  1. On the Reporting > Reports > Advanced Analytics screen, click New.
  2. Complete the required fields (Label, Name, and Priority) and any necessary optional fields. For an explanation of each field, see Required properties and Optional properties.
    Note: You must save the report before you can view the available options for the MemberRoles property.
  3. Click Edit XML with Preview.

    The XML editor appears, with the standard skeleton XML pre-populated in the XML panel.

    The standard skeleton XML is: <analytics-report><axis axis="x"></axis><axis axis="y"></axis></analytics-report>.

    As you add to the XML, click Refresh to view the results of your changes in the Output panel.

    When you click Refresh, the report reflects your changes.

    Tip: The Template Reports panel and XML reference can be helpful resources. You can model your report after a template, and consult the XML reference documentation for descriptions of the AA2 XML elements.

    Click Template Reports to open the list of template reports. Click the XML reference link to see the XML documentation.

  4. As you work in the report, click Save Draft to save your progress.
  5. When you are ready to make your report available to users, click Publish on the Advanced Analytics screen.

  6. Add the report to a dashboard as a custom module, as described in Dashboards.

Required properties

Label
Identifier for the report. The label must be lowercase, unique across all instances, and contain no spaces. The standard naming convention is <company_name>_aa2_<report_name>.
Name
Title of the report, which is displayed in these areas: the report dropdown menu of the Analytics tab, or (in the case that the report is added as a new page) the tab or sub-tab of the custom report.
Priority
A number that specifies the order of all custom reports, both in the setup system and on the Analytics tab.

Optional properties

Category (optional)

Groups all definitions with the same Category value together, which can make them easier to find on the list. Definitions are ordered by Priority inside each category. Definitions with no Category value are listed underneath. Use the filter above the list to see just the definitions of the selected category.

The act of assigning a definition to a category that doesn't exist creates a new category. Note that category names are case sensitive.
Note: To delete or change the name of a Category, simply change the Category value in each of the definitions that belongs to it.
Description
Notes about the report (for the benefit of future users).
PermissionContext

Authorization for the custom report. If the custom report is being used on a dashboard, the permission context set on the custom report must also be set on the dashboard for the modified data access level to function properly.

See Permission contexts for more information on permission contexts and Dashboards for more information on dashboards.

Created

Timestamp of when the report was initially created.

LastModified

Timestamp of the last saved change to the report.

Make this a Custom Analytics Report

Customize visualizations using CSS, HTML, or Javascript. In general, tweaking visualizations is not recommended.

Xml

Definition of the report.

Edit XML with Preview

Click to open an editor that shows side-by-side viewcust of the XML definition of the report and how it renders visually. Includes template reports that can be used as a starting point to create a new custom report, and a link to the XML documentation. See more about how to use this editor below.

SlugDataSet

Specifies the data set on which the report is executed.

Slug is a data set that is stored in-memory, so that the system can aggregate and analyze data quickly. Different slug data sets contain different types of data. Survey is the most common and the default choice. Here are all the options:

Survey
Includes all completed survey records. All data is imported as survey records, so 'survey' records includes any records pertaining to the company (including social media records).

The Survey slug data set is used most often, as it can report on scores, responses, and other information in the survey record.

Although this data set includes some Text Analytics information, it does not include data on sentiment. For that reason, Text Analytics reports generally use the Tag slug data set.

Invitation
Includes all survey records that have been imported into the system. Typically, reports about response rates or invitation rates use this data set. Reports about incomplete survey records should use this data set.
Tag
Includes Text Analytics data for completed survey records (including sentiment information). Text Analytics reports should use this slug data set.
Social media review
Accesses the social media server and runs reports on all social media data (including data on rivals). This data set is only used for social media reports with rival data. If you are creating reports with data that pertains to the company only, use the Survey data set instead.
Tip: Reports using the Social media review slug data set often run slower, so you should minimize the number of rows and columns these reports.
MemberRoles

Specifies which user roles have access to the report.

If the report should include availability to specific users, the Make all users available for MemberRoles property must be checked (and saved), making individual user accounts available in the list of roles.

If the report is being used on a dashboard, the custom report must have all of the roles that the dashboard grants access to in order for the dashboard to function properly and for the custom report to be selectable in dashboard setup.

If the report is being used as a stand-alone page in the navigation Items, all roles assigned here will be able to access the page.

Important: Ensure that all roles you assign here are also assigned to the report in Admin Suite. If you assign a role in Admin Suite, but do not also assign that role in the MemberRoles property, users receive an error when trying to export the report.
PDFExportDisabled

Disables a PDF export of the report within the analytics tab or as a stand-alone page in the navigation Items.

ExcelExportDisabled

Disables an XLSX export of the report within the analytics tab or as a stand-alone page in the navigation Items.

DataExportEnabled

The system will export all data from the report, rather than only the data is shown (regardless of pagination). This is relevant in the case of a paginated report, which will only display a subset of data on the web page, but export all data. This affects exporting within the Analytics tab or with the report as a stand-alone page in the Navigation Items.

WebMenu

This feature must be enabled in order to configure the report as a stand-alone page in navigation Items.

TranslationExplanation

The text in this box is displayed in the translations page as a note to provide context while translating.

Clicking Edit XML with Preview opens an editor with the following options:

Template Reports (button)
Toggles the display of a list of sample template reports.
Role (dropdown)
Controls the user role that will be used to determine the report rendering in the output view. Only the roles available to the setup user logged in will be available.
Show as (dropdown)
Renders the report in various sizes that are available in the Dashboard setup page / Tabs
XML Editor
This is where the code defining the report can be modified. Using ctrl+space brings up a list of available nodes, attributes, or attribute values to be used. See Guidelines on creating a custom report for more information.
Output
A preview of the report based on the current XML code in the editor, the role selected, and the report size selected, as well as any currently chosen optionbox settings.
Templates
A list of template reports which can be used as a starting point for new reports. For Text Analytics, Social, and Health Check you should pull template reports directly with little editing needed. Note: Selecting a template report will replace any XML already written (although if you close without saving the code will come back).
Refresh (button)
Updates the output view based on edited XML. Shortcut is Cmd + Return to refresh.
Close without saving (button)
Closes the editor and discards any changes made.
Save (button)
Closes the editor and saves any changes made to the XML.