7 #ifndef DATASETHELPER_H 8 #define DATASETHELPER_H 10 #include "../Dataset.h" 16 #define DSSTEMPLATE DSSTemplate 17 #define DSSTEMPLATEMETRIC DSSTemplateMetric 18 #define DSSRWGRIDITERATOR DSSRWGridIterator 19 #define DSSTEMPLATECUSTOMGROUP DSSTemplateCustomGroup 21 #define DSSTEMPLATE ICDSSTemplate 22 #define DSSTEMPLATEMETRIC ICDSSTemplateMetric 23 #define DSSRWGRIDITERATOR ICDSSRWIterator 24 #define DSSTEMPLATECUSTOMGROUP ICDSSTemplateCustomGroup 100 return !(*
this == x);
114 ,mpFormattedDataStringHelper(
NULL)
117 if (x.mpDateTimeIndex !=
NULL) {
120 if (x.mpDateTimeInfo !=
NULL) {
134 if (mpDateTimeIndex !=
NULL) {
135 delete mpDateTimeIndex;
137 if (x.mpDateTimeIndex !=
NULL) {
141 mpDateTimeIndex =
NULL;
144 if (mpDateTimeInfo !=
NULL) {
145 delete mpDateTimeInfo;
147 if (x.mpDateTimeInfo !=
NULL) {
151 mpDateTimeInfo =
NULL;
163 ,mpFormattedDataStringHelper(
NULL)
172 FormattedDataString(
const void* ipData,
EnumDSSDataType iType,
DSSDataFlag iFlag,
Int32 iSize,
Int32 iBaseFormType,
FormatInfo& iFormat,
CComVariant* ipNumberCategory,
CComVariant* ipNumberFormat) :
mText(L
""), mpDateTimeInfo(
NULL), mpDateTimeIndex(
NULL), mIsLink(false)
175 ,mpFormattedDataStringHelper(
NULL)
182 SetData(ipData, iType, iFlag, iSize, iBaseFormType, iFormat, ipNumberCategory, ipNumberFormat);
188 ,mpFormattedDataStringHelper(
NULL)
195 SetData(ipData, ipLocale, iIndex);
201 ,mpFormattedDataStringHelper(
NULL)
213 ,mpFormattedDataStringHelper(
NULL)
224 if (mpDateTimeInfo !=
NULL)
225 delete mpDateTimeInfo;
226 if (mpDateTimeIndex !=
NULL)
227 delete mpDateTimeIndex;
230 if(mpFormattedDataStringHelper !=
NULL)
232 delete mpFormattedDataStringHelper;
233 mpFormattedDataStringHelper =
NULL;
240 void SetData(
const std::string& irText);
250 return !(*
this == irDataString);
302 virtual bool Update(
const std::vector<Int32>& irSeriesIndex,
const std::vector<Int32>& irGroupIndex);
306 virtual bool GetRange(std::vector<Int32>& orSeriesIndex, std::vector<Int32>& orGroupIndex);
338 void hTrimBoundary(
Int32 iSeriesCount,
Int32 iGroupCount);
339 bool hCheckValidity();
353 DataStrip(
const std::vector<Int32>& irSeriesIndex,
const std::vector<Int32>& irGroupIndex,
Dataset* ipParent);
365 virtual bool Update(
const std::vector<Int32>& irSeriesIndex,
const std::vector<Int32>& irGroupIndex);
368 virtual bool GetRange(std::vector<Int32>& orSeriesIndex, std::vector<Int32>& orGroupIndex);
373 bool hPickValidIndex(
Int32 iInput,
Int32 iInputUpperLimit,
Int32 iInputLowerLimit = 0);
374 void hUpdate(
const std::vector<Int32>& irSeriesIndex,
const std::vector<Int32>& irGroupIndex);
376 std::vector<Int32> mSeriesIndex;
377 std::vector<Int32> mGroupIndex;
504 mIsValid = hPopulateMetricInfo(ipTemplate);
528 for (
size_t i = 0; i < lSize; i++)
529 orElements.push_back(
mElements[i].second);
535 Int32 lSize =
sizeof(*this);
538 Int32 kSize =
sizeof(std::pair<Int32, Int32>);
539 lSize += lCount * kSize;
543 lSize += lCount * kSize;
547 lSize += lCount * kSize;
586 mIsValid = hPopulateCustomGroupUnitInfo(ipIterator);
614 typedef std::vector<std::vector<std::vector<FormattedDataString> >* >
FormStringPool;
647 while(lpNode !=
mRoot.Get() && lpNode)
650 orPath.push_back(lNodeString);
675 if (!iIsSqueezeHCG || (iIsSqueezeHCG &&
mHCGMap.find(iDimLayer) ==
mHCGMap.end()))
681 if (iDimLayer < 0 || iDimLayer >= lSize)
684 std::vector<DimNode*> lpNodesVec =
GetDimNodes(iDimLayer,
false);
685 if (iIndexInsideDim < 0 || iIndexInsideDim >= lpNodesVec.size())
688 DimNode* lpNode = lpNodesVec[iIndexInsideDim];
697 Int32 lEndDepth = lStartDepth + lWidth - 1;
699 if (lEndDepth < 0 || lEndDepth >= lSize || lStartDepth < 0 || lStartDepth >= lSize)
702 std::vector<DimNode*> lpNodesVec =
GetDimNodes(lEndDepth,
false);
703 if (iIndexInsideDim < 0 || iIndexInsideDim >= lpNodesVec.size())
706 DimNode* lpNode = lpNodesVec[iIndexInsideDim];
707 std::vector <MBase::String> lvParts;
711 lvParts.insert(lvParts.begin(), lPart);
719 for (
Int32 i = 0; i < lvSize - 1; i++)
720 lStr += lvParts[i] + iSeperator;
721 lStr += lvParts.back();
738 if (!iIsSqueezeHCG || (iIsSqueezeHCG &&
mHCGMap.find(iDimLayer) ==
mHCGMap.end()))
749 Int32 lEndDepth = lStartDepth + lWidth - 1;
750 iDimLayer = lEndDepth;
762 if (!iIsSqueezeHCG || (iIsSqueezeHCG &&
mHCGMap.find(iDimLayer) ==
mHCGMap.end()))
772 iDimLayer = lStartDepth + lWidth - 1;
776 return GetDimNodes(iDimLayer,
false)[iIndexInsideDim]->mOffspringCount;
795 std::vector<std::vector<std::vector<FormattedDataString> >* >::iterator pos =
mDimString.begin();
800 delete (*pos); (*pos) =
NULL;
845 unsigned Int32 lDim = 0;
846 std::vector<std::vector<std::vector<FormattedDataString> >* >::iterator pos =
mDimString.begin();
872 std::vector<DimNode*>
GetDimNodes(
unsigned Int32 iDimIndex,
bool iIsSqueezeHCG =
true);
888 void hRecGetNodes(
DimNode* ipNode,
Int32 iDimIndex, std::vector<DimNode*>& iorCon);
890 void hRecLevelTraverse(
DimNode* ipNode);
902 std::map<Int32, std::pair<Int32, Int32> >
mHCGMap;
990 void FormatYMD(
const std::string& iFullString, std::vector<std::string>& iorParts);
1024 bool iIsForRow,
bool iIsIncludingTime);
1080 std::vector<DimNode*>& irParentalSet,
1081 std::vector<std::pair<Int32, Int32> >& irParentalOccypySet,
bool iIsBuiltByOrdinal =
false);
1089 void hGetChildCountSet(std::vector<std::pair<Int32, Int32> >& orOccupySet,
Int32 iDepth,
bool iIsBuiltByOrdinal =
false);
1097 void hPopulateDepthMap(
DSSAxis* ipAixs);
1098 void hPopulateSubtotalMap(
DSSAxis* ipAxis);
1100 std::vector<Int32> hFilterOutSubtotal(
Int32 iDimIndex,
Int32 iStart,
Int32 iEnd);
1104 void hPopulateLocaleRelatedInfo();
1118 DateTimeParser(
const std::string& iDay,
const std::string& iMonth,
const std::string& iYear,
const std::string& iTime);
1138 static bool mIsInit;
1202 void Dump(
bool iHasOriginalIndex =
false);
1210 void hReform(
DataTableCell** ipAllCells,
int iBlockNumber,
int iBlockSize,
int iReformedDataGroup);
1222 std::vector<DataTableCell*> mDeleteCellsPool;
1223 Int32 mRealMetricNumber;
1224 bool mPerfHasDuplicatedData;
1226 Int32 mAllCellsCount;
1227 std::map<Int32, Int32> mShuffledColumns;
CUSTOM_GROUP_LEVEL
Definition: DatasetHelper.h:565
Definition: DatasetHelper.h:782
virtual SLICE_TYPE GetSliceType()
Definition: DatasetHelper.h:36
virtual void MapIndexToParentalDataset(Int32 iSeriesIndex, Int32 iGroupIndex, Int32 &orSeriesIndex, Int32 &orGroupIndex)
Definition: DatasetHelper.h:568
MBase::String BuildLabelWithOption(Int32 iIndex, LABEL_LEVEL_OPTION iOption)
Int32 mBeginLayer
Definition: DatasetHelper.h:1047
double mValue
Definition: DatasetHelper.h:1152
BASE_FORMAT_TYPE
Definition: DatasetHelper.h:30
static DimTree * ToTree(bool iIsForRow, DSSTemplate *ipTemplate, DSSRWGridIterator *ipGridIterator, Int32 iBeginLayer=0, Int32 iEndLayer=-1, bool iIsShowSubtotal=true)
bool IsNull(DSSRWGridIterator *ipIterator)
static Int32 hIsUnitForTimeSeries(DSSTemplateUnit *ipUnit)
virtual HRESULT GetSeriesCount(Int32 &orSeriesCount)
Definition: DatasetHelper.h:45
Definition: DatasetIOSHelper.h:34
std::vector< DimNode * > mChildren
Children nodes.
Definition: DatasetHelper.h:446
std::map< Int32, Int32 > mDepthToUnitIndex
Depth index to unit index.
Definition: DatasetHelper.h:900
float mGroupPos
Each node's group index.
Definition: DatasetHelper.h:445
void hGetFormatString(DSSTemplateUnit *ipUnit)
Int32 mBeginDepth
Definition: DatasetHelper.h:1050
Definition: DatasetHelper.h:460
Definition: DatasetIOSHelper.h:24
virtual bool Update(Int32 iBeinSeries, Int32 iEndSeries, Int32 iBeginGroup, Int32 iEndGroup)
unsigned char DSSDataFlag
Definition: Dataset.h:45
#define _ASSERT(x)
Definition: Asserte.h:34
bool mIsDataInit
Definition: DatasetHelper.h:1154
Definition: DatasetHelper.h:33
bool mIsValid
Definition: DatasetHelper.h:480
CComVariant * mpNumberFormat
Definition: DatasetHelper.h:1072
Int32 mEndLayer
Definition: DatasetHelper.h:1048
bool hMoveIteratorToPosition(Int32 iPosition)
Definition: DatasetHelper.h:925
bool hPopulateOneDim(DimTree *ipTree, DSSTemplateUnit *ipUnit, Int32 iDepth, std::vector< DimNode *> &irParentalSet, std::vector< std::pair< Int32, Int32 > > &irParentalOccypySet, bool iIsBuiltByOrdinal=false)
virtual HRESULT GetGroupCount(Int32 &orGroupCount)
virtual Int32 MapSreiesToParentalDataset(Int32 iSeriesIndex)
std::vector< DimNode * > mLeafNodes
Leaf nodes, used for getting plain labels.
Definition: DatasetHelper.h:895
Int32 mAECol
Definition: DatasetHelper.h:1151
Int32 GetTreeWidth(Int32 iDimLayer, bool iIsActualSize=false, bool iIsSqueezeHCG=true)
Definition: DatasetHelper.h:736
virtual HRESULT GetGroupCount(Int32 &orGroupCount)
Int32 mOrdinal
The ordinal for this node - only used for leafnode.
Definition: DatasetHelper.h:444
FormatInfo mFormatInfo
Definition: DatasetHelper.h:1068
std::map< Int32, Int32 > mUnitIndexToStartDepthIndex
unit index –> its start index.
Definition: DatasetHelper.h:901
void FormatYMD(const std::string &iFullString, std::vector< std::string > &iorParts)
Definition: DatasetHelper.h:567
Definition: DatasetHelper.h:41
virtual Int32 MapGroupToParentalDataset(Int32 iGroupIndex)
Definition: DatasetHelper.h:52
std::vector< std::pair< Int32, Int32 > > mOccupyPairSet[2]
Definition: DatasetHelper.h:594
DataPiece(SLICE_TYPE iType, Dataset *ipParent)
MBase::String GetTemplateUnitElementName(Int32 iDimLayer, Int32 iIndexInsideDim, Int32 iFormIndex=0, MBase::String iSeperator=L" ", bool iIsSqueezeHCG=true)
Definition: DatasetHelper.h:670
bool Populate(DSSRWGridIterator *ipIterator, Int32 iRowIndex, Int32 iColIndex)
UnitInfo()
Definition: DatasetHelper.h:462
Definition: DatasetHelper.h:569
bool hIsHierarchicalCustomGroup(DSSTemplateUnit *ipUnit)
bool mIsNull
Definition: DatasetHelper.h:1153
Int32 mCustomGroupNum[2]
Definition: DatasetHelper.h:577
Definition: Base/Base/GUID.h:365
bool mShowSubtotalValue
Definition: DatasetHelper.h:1057
Int32 mAxisId
Definition: DatasetHelper.h:1053
std::vector< FormattedDataString > StringForms
Definition: DatasetHelper.h:612
virtual bool GetRange(Int32 &iBeinSeries, Int32 &iEndSeries, Int32 &iBeginGroup, Int32 &iEndGroup)
bool mIsIncludeTime
Definition: DatasetHelper.h:981
Definition: DSSTemplateUnit.h:19
Definition: DatasetHelper.h:35
long HRESULT
Definition: FragmentedString.h:20
Dataset * mpParent
Dataset instance pointer.
Definition: DatasetHelper.h:312
DataSlice(Int32 iBeginGroup, Int32 iEndGroup, Int32 iBeginSeries, Int32 iEndSeries, Dataset *ipParent, SLICE_TYPE iType=SLICE_STEPWISE)
bool hasCustomGroupInColumn()
Definition: DatasetHelper.h:592
MBase::String GetTemplateUnitName(Int32 iDimLayer, bool iUseAlias=false, bool iIsSqueezeHCG=true)
Definition: DatasetHelper.h:656
void ConvertToDateTimeParts(const void *ipDateData, std::vector< std::string > &iorParts)
#define _ASSERTE(x)
Definition: Asserte.h:40
std::map< MBase::GUID, DSSTEMPLATECUSTOMGROUP * > mIDToTemplateCustomGroup
Definition: DatasetHelper.h:596
std::string mTimeFormatRule
Definition: DatasetHelper.h:979
bool mHasMetrics
Definition: DatasetHelper.h:553
bool IsLastAttrToDisplay(DimNode *ipNode)
virtual bool GetGroupRange(Int32 &orBeginGroup, Int32 &orEndGroup)
static std::map< MBase::String, MBase::String > msMonthlyMap
Definition: DatasetHelper.h:1127
std::vector< FormattedDataString > * StringFormsPtr
Definition: DatasetHelper.h:613
bool hasCustomGroupInRow()
Definition: DatasetHelper.h:591
Definition: DatasetHelper.h:34
FormStringPool mDimString
Data used for storing label string information.
Definition: DatasetHelper.h:858
Definition: DSSRWGridIterator.h:68
bool mHasRunTimeUnit
Definition: DatasetHelper.h:1055
Definition: DSSTemplateDimension.h:20
DimTree()
Definition: DatasetHelper.h:620
MBase::String ToFormattedDate(Int32 iFormatType, const MBase::String iSerperator=L"-", bool iIsShorten=true, Int32 iTimeLenght=5)
Definition: DatasetHelper.h:573
Definition: DSSTemplate.h:29
Definition: DSSTemplateCustomGroup.h:17
void GetElementNames(std::vector< MBase::String > &orElements)
Definition: DatasetHelper.h:524
SLICE_TYPE
Definition: Dataset.h:77
std::pair< MBase::GUID, MBase::String > ElementInfo
Definition: DatasetHelper.h:487
DLL_BASE_EXIM ReturnWString UTF8ToWideChar(const char *ipUTF8, bool ibUseSubstitutionCharacter=false)
MBase::String GetFormattedString(DimNode *ipNode, bool iIsAbbreviated=false)
Get Formatted Label String Piece.
Definition: Dataset.h:198
TMLocaleInfo * mpLocale
For postponed date/time formatting –xxiao.
Definition: DatasetHelper.h:904
std::vector< std::pair< Int32, Int32 > > mOccupyPairSet
Definition: DatasetHelper.h:557
Int32 GetMemoryUsageEstimation()
Definition: DatasetHelper.h:533
void hGetChildCountSet(std::vector< std::pair< Int32, Int32 > > &orOccupySet, Int32 iDepth, bool iIsBuiltByOrdinal=false)
Definition: DatasetHelper.h:570
std::vector< std::vector< std::vector< FormattedDataString > > *> FormStringPool
Definition: DatasetHelper.h:614
bool GetElementContent(std::vector< FormattedDataString > &orForms, DSSTemplateUnit *ipUnit, Int32 iDepth)
float GetMemoryUsageEstimation()
Definition: DatasetHelper.h:639
Definition: DatasetHelper.h:316
bool mIsValid
Definition: DatasetHelper.h:956
virtual void SetSliceType(SLICE_TYPE iType=SLICE_STEPWISE)
CComVariant mNumberCategory
Definition: DatasetHelper.h:1069
void AddOneElement(const MBase::GUID &iID, const MBase::String &iName)
Definition: DatasetHelper.h:506
virtual HRESULT GetSeriesCount(Int32 &orSeriesCount)
const double kNodeSizeFactor
Definition: DatasetHelper.h:61
Int32 mIndexInAxis
Definition: DatasetHelper.h:479
static bool hBuildOneDimNodeOnDate(DimNode **ipCurrentNode, DimNode *ipParentNode, int iDimIndex, FormattedDataString *ipContentToAdd, FormattedDataString *ipCurrentContent, DimTree *ipTree, bool iDimPathChagned)
std::vector< std::pair< Int32, Int32 > > getCustomGroupPositions(bool iIsRow)
Int32 mStartChild
the index of its first child into the layer it stays at.
Definition: DatasetHelper.h:451
Int32 mIndex
The index in this dimensionality.
Definition: DatasetHelper.h:443
MBase::String GetPlainLabels(unsigned Int32 iGroupIndex, bool iSuppressLastLevel=false, LABEL_LEVEL_OPTION iOption=LLO_NORMAL)
Get plain label with specified GroupIndex.
void RightMostOffspringForPathInfo(std::vector< Int32 > &iorPathInfo)
MBase::String ToTime(bool iIsShorten, Int32 iLength)
unsigned Int32 GetDim()
Definition: DatasetHelper.h:843
EnumDSSDataType
Definition: DSSIPhoneEnums.h:39
MetricUnitInfo::Ptr mMetricPtr
MetricInfo, could be null.
Definition: DatasetHelper.h:899
MBase::String ToYear(bool iIsShorten)
void GetOneElement(MBase::GUID &orID, MBase::String &orName, Int32 iIndex)
Definition: DatasetHelper.h:507
Definition: DatasetHelper.h:1111
Definition: DatasetHelper.h:385
MBase::GUID mID
Definition: DatasetHelper.h:482
DataStrip(const std::vector< Int32 > &irSeriesIndex, const std::vector< Int32 > &irGroupIndex, Dataset *ipParent)
#define Int32
Definition: BasicTypes.h:20
std::vector< MBase::String > mAttributes
Attr Names, added by dshi. //for phrase 1.
Definition: DatasetHelper.h:896
Definition: DatasetHelper.h:51
virtual void MapIndexToParentalDataset(Int32 iSeriesIndex, Int32 iGroupIndex, Int32 &orSeriesIndex, Int32 &orGroupIndex)
Int32 GetTreeDepth(bool iIsSqueezeHCG=true)
Definition: DatasetHelper.h:726
Int32 hCountElementsInRange(Int32 iDepth, Int32 lStart, Int32 lEnd)
Int32 mType
Definition: DatasetHelper.h:483
Definition: DatasetHelper.h:43
double * GetValue(DSSRWGridIterator *)
std::map< Int32, Int32 > mUnitIndexToStartDepthIndex
Definition: DatasetHelper.h:1067
bool mShowNode
Whether the node is shown or not.
Definition: DatasetHelper.h:448
Int32 Find(Int32 iDimIndex, StringFormsPtr ipString)
DimNode * RightOrBottomMost()
Definition: DatasetHelper.h:439
unsigned Int32 GetLeafCount() const
Get Leaf Count(Group Count)
std::vector< GUID > mIDs
Template Unit IDs For this Axis. //for phrase 2.
Definition: DatasetHelper.h:898
bool IsLastAttrOfDateStyle()
Time Series Decider: used for time series.
MBase::String GetName()
Definition: DatasetHelper.h:478
CustomGroupUnitInfo(DSSRWGRIDITERATOR *ipIterator)
Definition: DatasetHelper.h:583
std::string mDateFormatRule
Definition: DatasetHelper.h:978
std::vector< std::string > mDateSeperators
Definition: DatasetHelper.h:982
MBase::GUID GetID()
Definition: DatasetHelper.h:475
Int32 GetType()
Definition: DatasetHelper.h:477
MetricUnitInfo(DSSTEMPLATE *ipTemplate)
Definition: DatasetHelper.h:500
Int32 mOffspringCount
the leafnode coverd by the subtree rooted at this node –dshi
Definition: DatasetHelper.h:450
void * mpLocale
Definition: DatasetHelper.h:977
bool GetRowHeadersForChildren(std::vector< MBase::String > &orLabels)
MBase::String ToMonth(bool iIsDigital, bool iIsShorten=false)
std::map< Int32, std::pair< Int32, Int32 > > mHCGMap
Hierachical CG unit [UnitIndex ==> <startDepth, width>].
Definition: DatasetHelper.h:902
Definition: Allocator.h:47
LINK_TEXT_TYPE
Definition: DatasetHelper.h:48
DimNode * mpParent
The node's parent.
Definition: DatasetHelper.h:447
Int32 Add(Int32 iDimIndex, StringFormsPtr ipString)
GUID GetMetricID(Int32 iIndex)
Definition: DatasetHelper.h:513
Definition: Dataset.h:116
#define DSSRWGRIDITERATOR
Definition: DatasetHelper.h:18
Definition: DatasetHelper.h:608
DSSTemplate * mpTemplate
Definition: DatasetHelper.h:1059
std::map< Int32, Int32 > mDepthToUnitIndex
Definition: DatasetHelper.h:1066
#define DSSTEMPLATE
Definition: DatasetHelper.h:16
Definition: DatasetHelper.h:1004
virtual bool GetGroupRange(Int32 &orBeginGroup, Int32 &orEndGroup)
Definition: DSSIPhoneEnums.h:14
virtual Int32 MapSreiesToParentalDataset(Int32 iSeriesIndex)
void LevelTraverse()
Traverse the tree, get each node's GroupIndex.
DateTimeParser(MBase::String &irString)
void * mpDateFormatter
Definition: DatasetHelper.h:980
Definition: StrongPtr.h:50
MBase::String mName
Definition: DatasetHelper.h:484
Int32 mMetricNumber
Definition: DatasetHelper.h:554
std::basic_string< WCHAR, std::char_traits< WCHAR >, Allocator< WCHAR > > String
Definition: BaseString.h:26
MBase::String GetString(DimNode *ipNode, Int32 iFormIndex=-1, MBase::String lSeperator=L" ", LINK_TEXT_TYPE iType=LINK_TEXT_DISPLAY)
static DimTree * hPopulateTimeSeriesTree(bool iIsForRow, DSSTemplateUnit *iDateUnit, DSSTemplate *ipTemplate, DSSRWGridIterator *ipGridIterator, Int32 iTreeDepth)
void GetStringPathToRoot(std::vector< MBase::String > &orPath, DimNode *ipNode)
Definition: DatasetHelper.h:644
SLICE_TYPE mType
Sliced Type.
Definition: DatasetHelper.h:310
Int32 mDim
The dimensionality of the node.
Definition: DatasetHelper.h:442
std::vector< Int32 > mFormStyles
the formtype for displayed form, used in time series.
Definition: DatasetHelper.h:903
Int32 GetLeafNodesByRoot(Int32 iDimLayer, Int32 iIndexInsideDim, bool iIsSqueezeHCG=true)
Definition: DatasetHelper.h:760
bool SetRowColIndex(Int32 iRowIndex, Int32 iColIndex)
MBase::String GetDateByDateOrderType(MBase::String &irYear, MBase::String &irMonth, MBase::String &irDay, MBase::String irHour=L"00", MBase::String irMinute=L"00", MBase::String irSecond=L"00")
std::map< MBase::GUID, DSSTEMPLATEMETRIC * > mIDToTemplateMetric
Definition: DatasetHelper.h:558
bool mIsForRow
Definition: DatasetHelper.h:1056
~DimStringContainer()
Definition: DatasetHelper.h:793
virtual HRESULT GetGroupCount(Int32 &orGroupCount)
Int32 GetIndex()
Definition: DatasetHelper.h:476
virtual void MapIndexToParentalDataset(Int32 iSeriesIndex, Int32 iGroupIndex, Int32 &orSeriesIndex, Int32 &orGroupIndex)
Int32 mAERow
Definition: DatasetHelper.h:1150
MetricUnitInfo(MBase::String &iName, MBase::GUID &iID, Int32 iIndex, Int32 iType)
Definition: DatasetHelper.h:494
Int32 GetIndexInsideDim()
Definition: DatasetHelper.h:1143
MBase::String GetAttributeName()
virtual bool Update(Int32 iBeinSeries, Int32 iEndSeries, Int32 iBeginGroup, Int32 iEndGroup)
Definition: DSSCustomGroup.h:19
std::vector< Int32 > mWidths
Width for each unit.
Definition: DatasetHelper.h:897
void Populate(DimTree *ipRowTree, DimTree *ipColTree)
Definition: DatasetHelper.h:50
void PrintInfo(bool iHasOriginalIndex)
Definition: DatasetHelper.h:32
bool GetRowHeader(MBase::String &orLabel)
Definition: DSSTemplateMetric.h:20
Definition: DSSTemplateAttribute.h:20
virtual bool GetRange(Int32 &iBeinSeries, Int32 &iEndSeries, Int32 &iBeginGroup, Int32 &iEndGroup)
bool mIsInRowAxis
Definition: DatasetHelper.h:552
Definition: DatasetHelper.h:279
CustomGroupUnitInfo(MBase::String &iName, MBase::GUID &iID, Int32 iIndex, Int32 iType)
Definition: DatasetHelper.h:579
MBase::String GetMetricName(Int32 iIndex)
Definition: DatasetHelper.h:519
virtual Int32 MapGroupToParentalDataset(Int32 iGroupIndex)
int mDateOrderType
Definition: DatasetHelper.h:983
Int32 MetricIDToTemaplateMetricIndex(GUID &irID)
Definition: Msi_ccomvariant.h:24
unsigned Int32 GetDim(bool iIsSqueezeHCG=true)
Return number of dimension.
static DimTree * ToTimeSeriesTree(bool iIsForRow, DSSTemplate *ipTemplate, DSSRWGridIterator *ipGridIterator, Int32 iBeginLayer=0, Int32 iEndLayer=-1, bool iIsShowSubtotal=true)
DimNode * LeftOrTopMost()
Definition: DatasetHelper.h:434
Definition: DatasetHelper.h:42
LABEL_LEVEL_OPTION
Definition: Dataset.h:114
Definition: DatasetHelper.h:1045
TMLocaleInfo(Int32 iPartsNumber)
bool GetElementContentFromDimension(std::vector< FormattedDataString > &orForms, DSSTemplateDimension *ipUnit, Int32 iDepth)
Int32 GetElementNumber()
Definition: DatasetHelper.h:531
static DimTree * hPopulateTree(DSSRWGridIterator *ipGridIterator, DSSTemplate *ipTemplate, bool iIsRow, Int32 iBeginLayer, Int32 iEndLayer, bool iIsShowSubtotal=true)
static bool hHasRepeatedElementAt(DSSRWGridIterator *ipGridIterator, Int32 iAxisId, Int32 iDepth)
void Delete()
Definition: DatasetHelper.h:629
Definition: DatasetHelper.h:349
virtual Int32 MapSreiesToParentalDataset(Int32 iSeriesIndex)
bool GetAttrElementContent(std::vector< FormattedDataString > &orForms, DSSTemplateAttribute *ipAttr, Int32 iDepth, bool iIsSubtotal)
DimStringContainer mLabelCon
Dimensional String.
Definition: DatasetHelper.h:893
Int32 mEndDepth
Definition: DatasetHelper.h:1051
virtual bool Update(const std::vector< Int32 > &irSeriesIndex, const std::vector< Int32 > &irGroupIndex)
TM_LABEL_PART
Definition: DatasetHelper.h:39
virtual Int32 MapGroupToParentalDataset(Int32 iGroupIndex)
FormattedDataString GetElementStringPiece(DSSTemplateUnit *ipUnit, const void *ipData, EnumDSSDataType iType, DSSDataFlag iFlag, Int32 iSize, Int32 iBaseFormType)
Int32 GetSize(Int32 iOffset)
Definition: DatasetHelper.h:490
Definition: DatasetHelper.h:44
MBase::StrongPtr< DimNode > mRoot
Root node for the tree.
Definition: DatasetHelper.h:894
virtual bool GetRange(std::vector< Int32 > &orSeriesIndex, std::vector< Int32 > &orGroupIndex)
DSSRWGridIterator * mpGridIterator
Definition: DatasetHelper.h:1060
virtual HRESULT GetSeriesCount(Int32 &orSeriesCount)
Int32 mWidth
The size of child —dshi.
Definition: DatasetHelper.h:449
#define NULL
Definition: Null.h:10
bool ToColumnRange(Int32 &orBegin, Int32 &orEnd)
DSSTemplateMetric * GetTemplateMetric(MBase::GUID &irID)
static Int32 hBuildSubtreeOnDate(DSSRWGridIterator *ipGridIterator, DimTree *&ipTree, Int32 iPreOrdinal, Int32 iOridanlCount, Int32 iFormId, bool iIsForRow, bool iIsIncludingTime)
DSSTEMPLATECUSTOMGROUP * getCustomGroupInAxis(int iAxis, int iDepth, CUSTOM_GROUP_LEVEL &iLevel)
void AddLevel()
Definition: DatasetHelper.h:634
std::vector< ElementInfo > mElements
Definition: DatasetHelper.h:556
bool mIsValid
This flag denotes the validity of the data piece object, if it is ture, then this object is ready for...
Definition: DatasetHelper.h:311
MBase::String ToDay(bool iIsShorten)
CComVariant * mpNumberCategory
Definition: DatasetHelper.h:1071
#define DSSTEMPLATECUSTOMGROUP
Definition: DatasetHelper.h:19
MSynch::SmartPtr< MetricUnitInfo > Ptr
Definition: DatasetHelper.h:492
UnitInfo(MBase::String &iName, GUID &iID, Int32 iIndex, Int32 iType)
Definition: DatasetHelper.h:470
std::map< Int32, std::pair< GUID, Int32 > > mCustomGroupIndexToElement[2]
Definition: DatasetHelper.h:598
std::map< Int32, MBase::GUID > mCustomGroupIndexToID[2]
Definition: DatasetHelper.h:595
CComVariant mNumberFormat
Definition: DatasetHelper.h:1070
Definition: Base/Base/GUID.h:32
DATA_RETRIEVAL_TYPE
Definition: Dataset.h:70
Definition: DatasetHelper.h:974
virtual bool GetGroupRange(Int32 &orBeginGroup, Int32 &orEndGroup)
static bool hTraverseTreeForCompletion(DimNode *ipNode, DimTree *ipTree)
std::vector< DimNode * > GetDimNodes(unsigned Int32 iDimIndex, bool iIsSqueezeHCG=true)
return all the nodes
bool MoveDownToken(Int32 iIndex)
Int32 mCurrentDepth
Definition: DatasetHelper.h:1052
virtual HRESULT GetData(Int32 iSeriesID, Int32 iGroupID, const double *&iorValue, Int32 iColumnOffset=0)
DimNode * RightMostOffspring()
DimNode(Int32 iDim, Int32 iIndex)
Definition: DatasetHelper.h:393
bool hMoveIteratorByElement(Int32 iDepth, bool iIsWithBoundaryCheck, bool iIsForward)
MSynch::SmartPtr< CustomGroupUnitInfo > Ptr
Definition: DatasetHelper.h:575