%DeepSee.KPIPlugInabstract class %DeepSee.KPIPlugIn
Subclasses of this class are used to implement analytic "plug-ins" for DeepSee.
If true, then this KPI can be executed asychronously. parameter BASECUBE;
Cube that this plug-in is based on. This determines which cubes (or subject areas based on this cube) can see this plug-in. This can be a comma-delimited list. The cube name(s) should not be enclosed with . parameter CACHEABLE = 1;
If true, then results for this KPI can be cached. parameter LISTINGFIELDS;
If defined, this the field list (RETURN clause) of the listing used to supply data for this plug-in. parameter LISTINGSOURCE = "SourceTable";
Specifies the source of the listing data used by this plugin: "SourceTable" - the data source supplies the listing values; "FactTable" - the fact table supplies the listing values. parameter PLUGINTYPE = "Pivot";
Specifies the type of this plug-in. This indicates the context in which this plug-in is used. parameter PUBLIC = 0;
"Pivot" -- the plug-in is visible within the Analyzer dimension tree.
"Aggregate" -- the plug-in is not visible within the Analyzer dimension tree.
By default, plug-ins are not visible to dashboards.
Number of facts in the "listing" that is driving this KPI. property %plugInListingKey as %String; property %sqlResultSet as %SQL.StatementResult;
Iterator for SQL results that will drive the computation of this plugin.
Return the cube(s) this KPI is based on. classmethod %GetPlugInType() as %String
Return the type of this plug in. classmethod %GetSourceType() as %String
Return the sourceType for this KPI. Always "custom" for plugins. method %OnCompute(pSQLRS As %SQL.StatementResult, Output pFactCount As %Integer) as %Status
Compute value(s) for this plug-in. method %OnComputeKPITimestamp(ByRef pTimestamp As %String, pSourceType As %String, pQueryText As %String = "") as %Status
pSQLRS is an SQL result set (%SQL.StatementResult) that will iterate over a set of facts and provide the base data for the calculations.
pFactCount Is the number of facts in the set.
Plug-in classes should implement this method to perform their calculations.
Compute and return the KPI cache timestamp for the current KPI result. method %OnGetAnalysisResultSet(Output pRS As %SQL.StatementResult, pSQL As %String) as %Status
Return an %SQL.StatementResult object that will iterate over the facts used for analysis. classmethod %OnGetFilterMembers(pFilter As %String, Output pMembers As %List, pSearchKey As %String = "", pDataSourceName As %String = "", ByRef pFilterValues As %String) as %Status
Callback to get additional members for a KPI filter. This takes the form: method %OnGetListingFields() as %String
In this case, return members for certain "built-in" filters such as "%cube" and "%measure".
Returns the field list (RETURN clause) of the listing used to supply data for this plug-in. method %OnGetListingMaxRows() as %String
Returns the MDX MAXROWS clause for the drillthrough query used to supply data for this plug-in. method %OnGetListingOrderBy() as %String
Returns the MDX %ORDER BY clause for the drillthrough query used to supply data for this plug-in. method %OnGetListingSource() as %String
Returns the source of the listing data used by this plugin: "SourceTable" - the data source supplies the listing values; "FactTable" - the fact table supplies the listing values. method %OnGetMDX(ByRef pMDX As %String) as %Status
This callback defines the default MDX query used for analysis. It also checks for the current values in the filters. final method %OnLoadKPI() as %Status
By default, select all facts from the first base cube.
This may be overridden by subclasses.
Notification that this KPI is being executed.
In this case, we compute the value of this plug-in by setting up the context and invoking the %OnCompute method.
Plug-in classes should implement the %OnCompute method.