【お知らせ】この部分は英語原文のみでの提供となります。何卒ご了承ください。
2.2.4.46.11 Worksheet::CrossTab
Contents
Description
Do cross tabulation
Syntax
int CrossTab( int nvRow, int nvCol, int nData, matrix & m, vector<string> * pvsRowVals, vector<string> * pvsColVals, int nStatsType = CT_COUNT, DWORD dwCntrl = 0, LPWksCrossTabMore pMore = NULL )
Parameters
- nvRow
- [input] the column index of the current worksheet, which is used for the Row variable on the crosstab
- nvCol
- [input] the column index of the current worksheet, which is used for the column variable on the crosstab
- nData
- [input] the column index of the current worksheet, which is used for the Data variable on the crosstab
- m
- [output] the matrix with resulting values, based on nStatsType
- pvsRowVals
- [output] the name of the Row items get from row variable
- pvsColVals
- [output] the name of the column items get from column variable
- nStatsType
- [input] = CT_COUNT, count the records from current worksheet, according to pvsRowVals and pvsColVals.
- = CT_SUM, get the sum of the data, which specified by nData, according to pvsRowVals and pvsColVals.
- = CT_MIN, get the min of the data, which specified by nData, according to pvsRowVals and pvsColVals.
- = CT_MAX, get the max of the data, which specified by nData, according to pvsRowVals and pvsColVals.
- = CT_MEAN, get the mean of the data, which specified by nData, according pvsRowVals and pvsColVals.
- dwCntrl
- [input]options
- pMore
- [input]Structure of most options
typedef struct tagWksCrossTabMore { const char* lpcszExtraColumnSource; const char* lpcszExtraRowSource; }WksCrossTabMore, *LPWksCrossTabMore;
Return
return 0 if successful, <0 if failure
Examples
EX1
//assuming that there is a worksheet, which you want to do the cross tabulation void cross_tab_ex1() { Worksheet wks = Project.ActiveLayer(); MatrixPage mpg; mpg.Create("Origin.otm"); MatrixLayer ml = mpg.Layers(0); Matrix matResult(ml, 0); vector<string> vsRowVals, vsColVals; // do cross tabulation according to column 1 and 2 of current worksheet // column 1 as Row variable, and column 2 as Col variable. int nRet = wks.CrossTab(1, 2, 0, matResult, &vsRowVals, &vsColVals); int ii; for ( ii = 0; ii < vsRowVals.GetSize(); ii++ ) { out_str(vsRowVals[ii]); } for ( ii = 0; ii < vsColVals.GetSize(); ii++ ) { out_str(vsColVals[ii]); } }
Remark
See Also
Header to Include
origin.h