Toggle menu
915
3.8K
30.2K
279.2K
Catglobe Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

QcsCustomColumn class: Difference between revisions

From Catglobe Wiki
No edit summary
Nguyenduyan (talk | contribs)
No edit summary
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:
|Name=<nowiki>QcsCustomColumn</nowiki>
|Name=<nowiki>QcsCustomColumn</nowiki>
|Description=<nowiki>Represents a data cache specification column with data calculated from script.</nowiki>
|Description=<nowiki>Represents a data cache specification column with data calculated from script.</nowiki>
|Constructors=
|InheritsFrom=QcsColumn|Constructors=
{{CGscriptConstructors_Template|Parameters=
{{CGscriptConstructors_Template|Parameters=
{{CGscriptParameters_Template|Type=string|Name=<nowiki>name</nowiki>|Description=<nowiki>Set column name.</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=string|Name=<nowiki>dataType</nowiki>|Description=<nowiki>Set the data type the script will return (notice this is CgScript type, not DCS type)</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=bool|Name=<nowiki>isFullColumn</nowiki>|Description=<nowiki>Does the script evaluate the whole column at a time or not</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=DataCacheSpecification|Name=<nowiki>dcs</nowiki>|Description=<nowiki>Dcs the column should belong to</nowiki>}}
{{CGscriptParameters_Template|Type=string|Name=<nowiki>name</nowiki>|Description=<nowiki>Set column name.</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=string|Name=<nowiki>dataType</nowiki>|Description=<nowiki>Set the data type the script will return (notice this is CgScript type, not DCS type)</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=bool|Name=<nowiki>isFullColumn</nowiki>|Description=<nowiki>Does the script evaluate the whole column at a time or not</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=DataCacheSpecification|Name=<nowiki>dcs</nowiki>|Description=<nowiki>Dcs the column should belong to</nowiki>}}
Line 12: Line 12:
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Delete</nowiki>|Description=<nowiki>Remove column from the dcs</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Delete</nowiki>|Description=<nowiki>Remove column from the dcs</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Save</nowiki>|Description=<nowiki>Add a new column to the dcs. Naming conflicts are automatically resolved. Notice the dcs itself also needs to be saved</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Save</nowiki>|Description=<nowiki>Add a new column to the dcs. Naming conflicts are automatically resolved. Notice the dcs itself also needs to be saved</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>SetAsPii</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=bool|Name=<nowiki>isPii</nowiki>|Description=<nowiki>True if PII and can access other pii columns</nowiki>}}
|Description=<nowiki>Declare whether this custom column contains PII</nowiki>}}
{{CGscriptMethods_Template|ReturnType=string|Name=<nowiki>ToString</nowiki>|Description=<nowiki>The string representation of the object.</nowiki>}}
{{CGscriptMethods_Template|ReturnType=string|Name=<nowiki>ToString</nowiki>|Description=<nowiki>The string representation of the object.</nowiki>}}
|Properties=
|Properties=
Line 17: Line 20:
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>ColumnType</nowiki>|HasGetter=1|Description=<nowiki>Get the source type of the column data</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>ColumnType</nowiki>|HasGetter=1|Description=<nowiki>Get the source type of the column data</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>DataType</nowiki>|HasGetter=1|Description=<nowiki>Get the data type of the column</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>DataType</nowiki>|HasGetter=1|Description=<nowiki>Get the data type of the column</nowiki>}}
{{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>IsFullColumn</nowiki>|HasGetter=1|Description=<nowiki>Does the script evaluate the whole column at a time or not</nowiki>}}
{{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>IsFullColumn</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Does the script evaluate the whole column at a time or not</nowiki>}}
{{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>IsPii</nowiki>|HasGetter=1|Description=<nowiki>Whether the column is classified as PII</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>Name</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Get/set the name of the column</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>Name</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Get/set the name of the column</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>ObjectTypeName</nowiki>|HasGetter=1|Description=<nowiki>The name of the type of object.</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>ObjectTypeName</nowiki>|HasGetter=1|Description=<nowiki>The name of the type of object.</nowiki>}}

Latest revision as of 06:31, 20 September 2026

QcsCustomColumn


Represents a data cache specification column with data calculated from script.

Parent class

Inherits from QcsColumn

Constructors

  • (string name "Set column name.", string dataType "Set the data type the script will return (notice this is CgScript type, not DCS type)", bool isFullColumn "Does the script evaluate the whole column at a time or not", DataCacheSpecification dcs "Dcs the column should belong to") - Create a new boolean column true if the user for a row belongs to the given group.

Methods

  • Empty ChangeDcs(DataCacheSpecification dcs "New DCS to put the column in") - Change column to belong to another DCS. The origin DCS is not altered
  • Empty Delete() - Remove column from the dcs
  • Empty Save() - Add a new column to the dcs. Naming conflicts are automatically resolved. Notice the dcs itself also needs to be saved
  • Empty SetAsPii(bool isPii "True if PII and can access other pii columns") - Declare whether this custom column contains PII
  • string ToString() - The string representation of the object.

Properties

  • string CgScript { get; set; } - Get/set the cgscript for the column
  • string ColumnType { get; } - Get the source type of the column data
  • string DataType { get; } - Get the data type of the column
  • bool IsFullColumn { get; set; } - Does the script evaluate the whole column at a time or not
  • bool IsPii { get; } - Whether the column is classified as PII
  • string Name { get; set; } - Get/set the name of the column
  • string ObjectTypeName { get; } - The name of the type of object.
  • bool PresentAsText { get; set; } - Get/set if Show the data column as the option text
  • TypeInformation TypeInformation { get; } - Get information about this class.


Examples

Create custom column

DataCacheSpecification dcs = new DataCacheSpecification(15638865);
QcsCustomColumn cc = new QcsCustomColumn("test", "number", false, dcs);
cc.CgScript = "if(Q1!=empty) return Q1; else return 1;";
cc.Save();
dcs.Save();


Create custom full column

DataCacheSpecification dcs = new DataCacheSpecification(15638865);
QcsCustomColumn cc = new QcsCustomColumn("testfullcustom", "number", true, dcs);
cc.CgScript = "
	array result = {};
	number numberOfRow = Id.Count;
	for(number i = 0; i < numberOfRow; i++) {
		if (Q1[i] != empty)
			result.Add(Q1[i]);
		else result.Add(1);
	}
	return result;
";
cc.Save();
dcs.Save();

Create custom full column using fs.UpdatedNumberOfRows

DataCacheSpecification dcs = new DataCacheSpecification(15638865);
QcsCustomColumn cc = new QcsCustomColumn("testfullcustom", "number", true, dcs);
cc.CgScript = "
        array param = Workflow_getParameters();
        Dictionary localCache = param[0];
        FullCustomColumnSettings fs = param[1];
	array result = {};
	number numberOfRow = fs.UpdatedNumberOfRows;
	for(number i = 0; i < numberOfRow; i++) {
		if (Q1[i] != empty)
			result.Add(Q1[i]);
		else result.Add(1);
	}
	return result;
";
cc.Save();
dcs.Save();