Learning
Documentation
Community
Open Exchange
Global Masters
Home / Class Reference / ENSLIB namespace / %DeepSee.KPIPlugIn
Private  Storage   

%DeepSee.KPIPlugIn


abstract class %DeepSee.KPIPlugIn extends
%DeepSee.KPI

Subclasses of this class are used to implement analytic "plug-ins" for DeepSee.

Inventory


Parameters Properties Methods Queries Indices ForeignKeys Triggers
7 3 16


Summary


Properties
%cacheKey %cellContext %cubeName %data
%factCount %filterValues %fromCache %id
%message %plugInListingKey %queryKey %rangeLower
%rangeUpper %seriesCount %seriesNames %source
%sqlResultSet %thresholdLower %thresholdUpper

Methods
%%OIDGet %AddToSaveSet %ApplyDefaults %BindExport
%BuildObjectGraph %CheckResource %ClassIsLatestVersion %ClassName
%ClearKPICache %Close %ComputeKPI %ComputeKPICacheKey
%ComputeKPITimestamp %ConstructClone %CopyDataFromModel %CopyDataToModel
%CreateKPIController %CreateLocalController %CreateModelInstance %DeleteModel
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %ExecuteMDX
%ExecuteSQL %Extends %Generate %GetActionList
%GetAnalysisResultSet %GetBaseCube %GetFilterDisplayValue %GetFilterKey
%GetFilterList %GetFilterLogicalValue %GetFilterMembers %GetJSValidationCode
%GetKPICaption %GetKPICaptionName %GetKPIClassTimeStamp %GetKPIName
%GetKPIPropertyCaption %GetKPIPropertyInfo %GetKPIValue %GetKPIValueArray
%GetListingResultSet %GetLookupSQL %GetMDX %GetMDXContextFilter
%GetMDXForFilter %GetMDXText %GetMembersForFilter %GetParameter
%GetPlugInType %GetPropertyInfo %GetPropertyList %GetSQL
%GetSQLForFilter %GetSQLText %GetSourceType %IncrementCount
%InvokeAction %InvokeDashboardAction %IsA %IsAsync
%IsCacheable %IsModified %IsPublic %IsReadOnly
%LoadKPIFromCache %New %NormalizeObject %ObjectModified
%OnCompute %OnComputeKPICacheKey %OnComputeKPITimestamp %OnCopyDataFromModel
%OnCopyDataToModel %OnDashboardAction %OnDeleteModel %OnDeleteSource
%OnExecute %OnGetActionList %OnGetAnalysisResultSet %OnGetFilterList
%OnGetFilterMembers %OnGetKPICaption %OnGetKPIPropertyInfo %OnGetListingFields
%OnGetListingMaxRows %OnGetListingOrderBy %OnGetListingResultSet %OnGetListingSQL
%OnGetListingSource %OnGetMDX %OnGetPropertyInfo %OnGetSQL
%OnInvokeAction %OnKPICleanup %OnLoadKPI %OnLoadKPIFromCache
%OnLoadModel %OnNewSource %OnOpenSource %OnSaveKPIToCache
%OnSaveSource %OnStoreModel %OnSubmit %OpenModel
%OriginalNamespace %PackageName %PrintValue %QueueKPI
%RemoveFromSaveSet %SaveKPIToCache %SaveModel %SerializeObject
%SetModified %SetPercentComplete %SplitList %SubmitHandler
%TestKPICache %ValidateKPICache %ValidateObject ConvertParameter
Decrypt Encrypt EscapeHTML EscapeURL
HyperEventBody HyperEventCall HyperEventFrame HyperEventHead
Include InsertHiddenField InsertHiddenFields IsPrivate
Link OnHTTPHeader OnPage OnPageError
OnPostHTTP OnPostHyperEvent OnPreHTTP OnPreHyperEvent
Page QuoteJS RewriteURL ShowError
StartTimer StopTimer ThrowError UnescapeHTML
UnescapeURL

Subclasses
%DeepSee.PlugIn.CreateTable %DeepSee.PlugIn.Distinct %DeepSee.PlugIn.Median
%DeepSee.PlugIn.PMML %DeepSee.PlugIn.Percentile %DeepSee.PlugIn.iKnow

Parameters


• parameter ASYNC = 1;
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.
"Pivot" -- the plug-in is visible within the Analyzer dimension tree.
"Aggregate" -- the plug-in is not visible within the Analyzer dimension tree.
• parameter PUBLIC = 0;
By default, plug-ins are not visible to dashboards.

Properties


• property %factCount as %Integer;
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.

Methods


• final method %GetAnalysisResultSet(Output pRS As %SQL.StatementResult, Output pCubeName As %String, Output pQueryKey As %String) as %Status
Return an %SQL.StatementResult object that will iterate over the facts used for analysis.
pCubeName is the cube name for the underlying MDX query.
pQueryKey is the query key for the underlying MDX query.
• classmethod %GetBaseCube() as %String
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.
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.
• method %OnComputeKPICacheKey(Output pCacheKey As %String, pQueryText As %String = "") as %Status
Compute the kpi cache key for the current KPI result. Also creates the context for executing this KPI.
• method %OnComputeKPITimestamp(ByRef pTimestamp As %String, pSourceType As %String, pQueryText As %String = "") as %Status
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:
pMembers($I(pMembers))=$LB(text,value)
In this case, return members for certain "built-in" filters such as "%cube" and "%measure".
• method %OnGetListingFields() as %String
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.
By default, select all facts from the first base cube.
This may be overridden by subclasses.
• method %OnKPICleanup() as %Status
Runs after the KPI loads and runs
• final method %OnLoadKPI() as %Status
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.