Jump to content
Toggle menu
  • 915 articles
  • 3.8K files
  • 30.2K users
  • 279.2K edits
Catglobe Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

QcsQuestionColumn class: Difference between revisions

From Catglobe Wiki
No edit summary
Nguyenduyan (talk | contribs)
No edit summary
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{CGscriptClass_Template
{{CGscriptClass_Template
|Name=QcsQuestionColumn
|Name=<nowiki>QcsQuestionColumn</nowiki>
|Description=Represents a data cache specification column with data from collected questions.
|Description=<nowiki>Represents a data cache specification column with data from collected questions.</nowiki>
|InheritsFrom=QcsColumn|Constructors=
{{CGscriptConstructors_Template|Parameters=
{{CGscriptParameters_Template|Type=string|Name=<nowiki>questionLabel</nowiki>|Description=<nowiki>Set column name.</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=int|Name=<nowiki>questionnaireResourceId</nowiki>|Description=<nowiki>Set the associated questionnaire. Set to 0 to use primary questionnaire</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=DataCacheSpecification|Name=<nowiki>dcs</nowiki>|Description=<nowiki>Dcs the column should belong to</nowiki>}}
|Description=<nowiki>Create a new column.</nowiki>}}
{{CGscriptConstructors_Template|Parameters=
{{CGscriptParameters_Template|Type=string|Name=<nowiki>questionLabel</nowiki>|Description=<nowiki>Set column name.</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=int|Name=<nowiki>questionnaireResourceId</nowiki>|Description=<nowiki>Set the associated questionnaire. Set to 0 to use primary questionnaire</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=string|Name=<nowiki>name</nowiki>|Description=<nowiki>Set the name of the column in the dcs.</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=DataCacheSpecification|Name=<nowiki>dcs</nowiki>|Description=<nowiki>Dcs the column should belong to</nowiki>}}
|Description=<nowiki>Create a new column with an explicit name.</nowiki>}}
|Methods=
|Methods=
{{CGscriptMethods_Template|ReturnType=Empty|Name=Delete|Description=Remove column from the dcs}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>ChangeDcs</nowiki>|Parameters=
{{CGscriptMethods_Template|ReturnType=Empty|Name=Save|Description=Add a new column to the dcs. Naming conflicts are automatically resolved. Notice the dcs itself also needs to be saved}}
{{CGscriptParameters_Template|Type=DataCacheSpecification|Name=<nowiki>dcs</nowiki>|Description=<nowiki>New DCS to put the column in</nowiki>}}
{{CGscriptMethods_Template|ReturnType=string|Name=ToString|Description=The string representation of the object.}}
|Description=<nowiki>Change column to belong to another DCS. The origin DCS is not altered</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=string|Name=<nowiki>ToString</nowiki>|Description=<nowiki>The string representation of the object.</nowiki>}}
|Properties=
|Properties=
{{CGscriptProperties_Template|ReturnType=number|Name=AnswerOptionIndex|HasGetter=1|Description=Get which answer option is used for this column. -1 if not from answer option.}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>AnswerOptionIndex</nowiki>|HasGetter=1|Description=<nowiki>Get which answer option is used for this column. -1 if not from answer option.</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=CgScript|HasGetter=1|HasSetter=1|Description=Get/set the cgscript for the column}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>CgScript</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Get/set the cgscript for the column</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=ColumnType|HasGetter=1|Description=Get the source type of the column data}}
{{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=DataType|HasGetter=1|Description=Get the data type of the column}}
{{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=Name|HasGetter=1|HasSetter=1|Description=Get/set the name of the column}}
{{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=ObjectTypeName|HasGetter=1|Description=The name of the type of object.}}
{{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=bool|Name=OpenPart|HasGetter=1|Description=Get if this column is the open part of the question.}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>ObjectTypeName</nowiki>|HasGetter=1|Description=<nowiki>The name of the type of object.</nowiki>}}
{{CGscriptProperties_Template|ReturnType=bool|Name=PresentAsText|HasGetter=1|HasSetter=1|Description=Get/set if Show the data column as the option text}}
{{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>OpenPart</nowiki>|HasGetter=1|Description=<nowiki>Get if this column is the open part of the question.</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=QuestionLabel|HasGetter=1|Description=Get the questionlabel used for getting data for this column.}}
{{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>PresentAsText</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Get/set if Show the data column as the option text</nowiki>}}
{{CGscriptProperties_Template|ReturnType=number|Name=QuestionnaireResourceId|HasGetter=1|Description=Get the questionnaire used for getting data for this column.}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>QuestionLabel</nowiki>|HasGetter=1|Description=<nowiki>Get the questionlabel used for getting data for this column.</nowiki>}}
{{CGscriptProperties_Template|ReturnType=number|Name=SubQuestionIndex|HasGetter=1|Description=Get which sub question is used for this column. -1 if not from subquestion.}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>QuestionnaireResourceId</nowiki>|HasGetter=1|Description=<nowiki>Get the questionnaire used for getting data for this column.</nowiki>}}
{{CGscriptProperties_Template|ReturnType=TypeInformation|Name=TypeInformation|HasGetter=1|Description=Get information about this class.}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>SubQuestionIndex</nowiki>|HasGetter=1|Description=<nowiki>Get which sub question is used for this column. -1 if not from subquestion.</nowiki>}}
{{CGscriptProperties_Template|ReturnType=TypeInformation|Name=<nowiki>TypeInformation</nowiki>|HasGetter=1|Description=<nowiki>Get information about this class.</nowiki>}}
}}
}}


=== '''Examples''' ===
=== '''Examples''' ===


'''Ex1:'''
'''Ex: Create question columns for Primary qnaire'''


<source lang="javascript">
<source lang="javascript">
Line 35: Line 46:
dcs.Save(); //Must save to make the above statements applied on DCS, but this statement does not REBUILD the DCS
dcs.Save(); //Must save to make the above statements applied on DCS, but this statement does not REBUILD the DCS
print(dcs.ColumnNames);
print(dcs.ColumnNames);
</source>
'''Ex: Copy all question columns from DCS A to DCS B'''
<source lang="javascript">
// Copy all question columns from DCS A to DCS B
number dcsARId = 15645155;
number dcsBRId = 15645157;
number qnaireARId = 15645137;
DataCacheSpecification dcsA = new DataCacheSpecification(dcsARId);
DataCacheSpecification dcsB = new DataCacheSpecification(dcsBRId);
dcsB.Reset();
dcsB.ClearSecondaryQuestionnaireJoinType();
dcsB.SetSecondaryQuestionnaireJoinType (qnaireARId,"CompanyNumber","CompanyNumber");
array arrayQuestionColumns = dcsA.CreateAllColumnsForAllQuestions(0);
for(number i = 0; i<arrayQuestionColumns.Count; i++)
{
QcsQuestionColumn questionColumn = arrayQuestionColumns[i];
questionColumn.ChangeDcs(dcsB);
questionColumn.Save();
}
dcsB.Save();
dcsB.Rebuild(true,true,0);
</source>
</source>

Latest revision as of 06:36, 20 September 2026

QcsQuestionColumn


Represents a data cache specification column with data from collected questions.

Parent class

Inherits from QcsColumn

Constructors

  • (string questionLabel "Set column name.", int questionnaireResourceId "Set the associated questionnaire. Set to 0 to use primary questionnaire", DataCacheSpecification dcs "Dcs the column should belong to") - Create a new column.
  • (string questionLabel "Set column name.", int questionnaireResourceId "Set the associated questionnaire. Set to 0 to use primary questionnaire", string name "Set the name of the column in the dcs.", DataCacheSpecification dcs "Dcs the column should belong to") - Create a new column with an explicit name.

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
  • string ToString() - The string representation of the object.

Properties

  • int AnswerOptionIndex { get; } - Get which answer option is used for this column. -1 if not from answer option.
  • 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 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 OpenPart { get; } - Get if this column is the open part of the question.
  • bool PresentAsText { get; set; } - Get/set if Show the data column as the option text
  • string QuestionLabel { get; } - Get the questionlabel used for getting data for this column.
  • int QuestionnaireResourceId { get; } - Get the questionnaire used for getting data for this column.
  • int SubQuestionIndex { get; } - Get which sub question is used for this column. -1 if not from subquestion.
  • TypeInformation TypeInformation { get; } - Get information about this class.


Examples

Ex: Create question columns for Primary qnaire

DataCacheSpecification dcs = new DataCacheSpecification(15517146);

array aQcsQuestionColumns = dcs.CreateAllColumnsForQuestion("Q1",0); //Create new column(s) for a question and use primary questionnaire 

for(number i= 0; i < aQcsQuestionColumns.Count; i++){
	aQcsQuestionColumns[i].Save();
}
dcs.Save(); //Must save to make the above statements applied on DCS, but this statement does not REBUILD the DCS
print(dcs.ColumnNames);

Ex: Copy all question columns from DCS A to DCS B

// Copy all question columns from DCS A to DCS B
number dcsARId = 15645155;
number dcsBRId = 15645157;
number qnaireARId = 15645137;

DataCacheSpecification dcsA = new DataCacheSpecification(dcsARId);
DataCacheSpecification dcsB = new DataCacheSpecification(dcsBRId);

dcsB.Reset();
dcsB.ClearSecondaryQuestionnaireJoinType();
dcsB.SetSecondaryQuestionnaireJoinType (qnaireARId,"CompanyNumber","CompanyNumber");
array arrayQuestionColumns = dcsA.CreateAllColumnsForAllQuestions(0);
for(number i = 0; i<arrayQuestionColumns.Count; i++)
{
	QcsQuestionColumn questionColumn = arrayQuestionColumns[i];
	questionColumn.ChangeDcs(dcsB);
	questionColumn.Save();
}
dcsB.Save();
dcsB.Rebuild(true,true,0);