Difference between revisions of "DataCacheSpecification class"

From Catglobe Wiki
Jump to: navigation, search
Line 56: Line 56:
 
}}
 
}}
  
==== <span style="color:#a52a2a;">'''Examples'''</span> ====
+
=== '''Examples'''===
  
'''Ex1:'''
+
'''Ex1:''' <source lang="javascript">
<source lang="javascript">
 
 
DCS_use(37244952); // set DCS context
 
DCS_use(37244952); // set DCS context
 
string e1 = "count() where S_Age == [1] && M_Travel == [1,2];";
 
string e1 = "count() where S_Age == [1] && M_Travel == [1,2];";
Line 72: Line 71:
 
print(dcs.EvalWhere(d)); // {"exp1": 68, "exp2": 46}</source>
 
print(dcs.EvalWhere(d)); // {"exp1": 68, "exp2": 46}</source>
  
'''Ex2:'''
+
'''Ex2:''' <source lang="javascript">
<source lang="javascript">
 
 
string e1 = "count() where S_Age == [1] && M_Travel == [1,2];";
 
string e1 = "count() where S_Age == [1] && M_Travel == [1,2];";
 
Dictionary d =
 
Dictionary d =

Revision as of 12:58, 17 October 2013

DataCacheSpecification



Represents a DataCache specification.

Constructors

  • () - Instanciate a new instance using the current context datacache
  • (number ResourceId "Resource Id of the DataCache") - Instanciate a new instance using the resource id of a datacache
  • (string ResourceId "Resource name of the new DataCache", array Questionnaire Ids "List of Questionnaires to use in the creation. Must all belong to same template") - Create a new datacache using quick setup

Methods

  • Empty AddFilter(string filterQuestionLabel "Question to apply filter to. If empty, then clear current filters", string filterValue "Value of the filter") - Add a filter to the DataCache
  • AnyType EvalWhere(string whereExpression "The expression to execute. It must contain 'where' and NOT start with a equal sign, and have 1 and only one semicolon in it") - Evaluate a single where expression up against the current DataCache
  • Dictionary EvalWhere(Dictionary whereExpressions "The expressions to execute. They must contain 'where' and MAY start with a equal sign, and have 1 and only one semicolon in it") - Evaluate a number of where expressions up against the current DataCache. If there are 2 or more expressions, the result is cached. Context weight and filters are ignored.
  • Dictionary EvalWhere(Dictionary whereExpressions "The expressions to execute. They must contain 'where' and MAY start with a equal sign, and have 1 and only one semicolon in it", string weight "Column name of the weight to use in filter") - Evaluate a number of where expressions up against the current DataCache using a weight. If there are 2 or more expressions, the result is cached. Context weight and filters are ignored.
  • Empty MakeContext() - Make the current DataCache the context DataCache
  • Empty Save() - Save the DataCache
  • string ToString() - The string representation of the object.

Properties

  • bool AutoUpdate { get; set; } - Get/Set Auto Update
  • bool BuildWithWeight { get; set; } - Get/Set if the DataCache should be built using weights
  • number CachedRecords { get; } - How many records does the DataCache currently hold
  • array ColumnNames { get; } - List of Column names
  • bool Completed { get; set; } - Get/Set include completed
  • bool Deleted { get; set; } - Get/Set include deleted
  • string Description { get; set; } - Get/Set description of the DataCache
  • bool Disabled { get; set; } - Get/Set include disabled
  • bool InterviewFailed { get; set; } - Get/Set include marked as interview failed
  • bool InterviewSucceeded { get; set; } - Get/Set include marked as interview succeeded
  • bool IsOutOfDate { get; } - Does the DataCache need to be rebuilt to have the correct content
  • string Language { get; set; } - Get/Set the iso code used in building the items that depend on a specific language
  • DateTime LastUpdated { get; } - Time of the last rebuild
  • string Name { get; set; } - Name of the DataCache resource
  • bool Normal { get; set; } - Get/Set include normal
  • bool NotStarted { get; set; } - Get/Set include those not yet started
  • string ObjectTypeName { get; } - The name of the type of object.
  • bool OutsideTarget { get; set; } - Get/Set include those marked outside target
  • bool Partly { get; set; } - Get/Set include partly completed
  • ProfilingResult ProfileFromLastEval { get; } - Get the profile result from the last run of EvalWhere.
  • array QuestionnaireIds { get; } - List of the questionnaires used in the DataCache
  • number QuestionnaireTemplateId { get; } - The resource id of the questionnaire template used in the DataCache
  • bool QuotaFull { get; set; } - Get/Set include those with full quota
  • number ResourceId { get; } - The Id of the DataCache
  • bool Test { get; set; } - Get/Set include those marked as test
  • TypeInformation TypeInformation { get; } - Get information about this class.
  • number UpdateFrequence { get; set; } - Get/Set Update Frequence in minutes


Examples

Ex1:

DCS_use(37244952); // set DCS context
string e1 = "count() where S_Age == [1] && M_Travel == [1,2];";
Dictionary d =
{
 "exp1": "count() where S_Age == [1] && M_Travel == [1,2];",
 "exp2": "count() where S_Age == [2] && M_Travel == [1];"
};
print(DCS_evaluateWhereExpression(e1)); // 68
DataCacheSpecification dcs = new DataCacheSpecification(); // Represent a DCS which is used as current DCS context
print(dcs.EvalWhere(e1)); // 68
print(dcs.EvalWhere(d)); // {"exp1": 68, "exp2": 46}

Ex2:

string e1 = "count() where S_Age == [1] && M_Travel == [1,2];";
Dictionary d =
{
 "exp1": "count() where S_Age == [1] && M_Travel == [1,2];",
 "exp2": "count() where S_Age == [2] && M_Travel == [1];"
};
DataCacheSpecification dcs = new DataCacheSpecification(37244952); // Represents a DCS which has Resource Id: 37244952
print(dcs.EvalWhere(e1)); // 68
print(dcs.EvalWhere(d)); // {"exp1": 68, "exp2": 46}
dcs.MakeContext(); // or you can use DCS_use(RID) instead
print(DCS_evaluateWhereExpression(e1)); // without the previous statement (dcs.MakeContext();), you will get error at this line because there is no DCS context is set, so you can not use DCS_evaluateWhereExpression(e1)
dcs.Partly = false; // Not include the partly completed QASs
dcs.NotStarted = false; // Not include the not started QASs
dcs.Save(); // Must save to make the above statements applied on DCS, but this statement does not REBUILD the DCS