# $jaql Service

The $jaql service is available via the prism global:

console.log(typeof prism.$jaql);
// Outputs: "object"

Constants

Name Type Description Value
datatypes.numeric string numeric datatype "numeric"
datatypes.datetime string date-time datatype "datetime"
FORMAT.JSON string JAQL query response format: json "json"
FORMAT.SQL string JAQL query response format: sql "sql"
FORMAT.PIVOT string JAQL query response format: pivot 1.0 table "pivot"

Example

// Access the JAQL JSON response format constant:
console.log(prism.$jaql.FORMAT.JSON);

# Methods

# resetColor

prism.$jaql.resetColor(item)

Resets a panel item's color settings.

Note that the function will only apply to metadata items that have the property format.color set. It will not reset colors selected for individual values in a "break by" type panel.

Arguments

Name Type Description
item MetadataItem A metadata item that has format.color set

Returns

N/A

Example

// Reset the color settings on the first values panel item
let item = prism.activeWidget.metadata.panel('values').item(0);
prism.$jaql.resetColor(item);

# analyze

prism.$jaql.analyze(items)

Analyzes a collection of MetadataItem objects and splits them into multiple arrays by type.

This method is mostly used to redistribute metadata to appropriate panels when transitioning between widget types.

Arguments

Name Type Description
items MetadataItem[] An array of metadata item objects

Returns

The method returns an object, each property of which is an array of Metadata items of a certain category.

Name Type Description
dimensions MetadataItem[] Metadata items that are dimensions of any type
textDimensions MetadataItem[] Metadata items that are Text type dimensions
numericDimensions MetadataItem[] Metadata items that are Number type dimensions
dateDimensions MetadataItem[] Metadata items that are Date type dimensions
filteredDimensions MetadataItem[] Metadata items that are dimensions being filtered
filters MetadataItem[] Metadata items that are filters
measures MetadataItem[] Metadata items that are measures

Example

// Check how many dimensions are present in an items array
console.log(prism.$jaql.analyze(items).dimensions.length);

# isFilter

prism.$jaql.isFilter(item)

Checks if a Metadata item is a filter.

Arguments

Name Type Description
item MetadataItem A metadata item

Returns

boolean: true if item is a filter

Example

console.log(prism.$jaql.isFilter(item));

# isMeasure

prism.$jaql.isMeasure(item)

Checks if a Metadata item is a measure.

Arguments

Name Type Description
item MetadataItem A metadata item

Returns

boolean: true if item is a measure

Example

console.log(prism.$jaql.isMeasure(item));

# isFormula

prism.$jaql.isFormula(item)

Checks if a Metadata item is a formula measure.

Arguments

Name Type Description
item MetadataItem A metadata item

Returns

boolean: true if item is a formula

Example

console.log(prism.$jaql.isFormula(item));

# isNumericDimension

prism.$jaql.isNumericDimension(item)

Checks if a Metadata item is a numeric dimension.

Arguments

Name Type Description
item MetadataItem A metadata item

Returns

boolean: true if item is a numeric dimension

Example

console.log(prism.$jaql.isNumericDimension(item));

# isDateTimeDimension

prism.$jaql.isDateTimeDimension(item)

Checks if a Metadata item is a datetime dimension.

Arguments

Name Type Description
item MetadataItem A metadata item

Returns

boolean: true if item is a datetime dimension

Example

console.log(prism.$jaql.isDateTimeDimension(item));