Duplicates in TM1 Extract
Posted: Wed Oct 26, 2011 11:23 pm
I'm getting duplicate records in a TM1 extract after modifying the original code. The extract gives two numeric values from the conType dimension, Revenue and Volume. The original code did not extract records where Revenue was 0 but Volume was > 0. The new code does include those records but duplicates any records where both Revenue and Volume are > 0. For example, the original code gives these values:
Line 1) Revenue: 284,061.4; Volume: 95
Line 2) 43,223 0
Line 3) 2,583,056 38,000
The current code gives these values:
Line 1) Revenue: 284,061.4; Volume: 95
Line 2) 43,223 0
Line 3) 2,583,056 38,000
Line 4) Same as Line 1
Line 5) Same as Line 3
Here are the original and current versions of the relevant code in the prolog and data tabs:
Original Relevant Prolog Tab Code:
strType = 'Amount';
strDim = 'conType';
IF ( SUBSETEXISTS ( strDim, strSub ) = 1 );
SUBSETDELETEALLELEMENTS ( strDim, strSub );
ELSE;
SUBSETCREATE ( strDim, strSub );
ENDIF;
SUBSETELEMENTINSERT ( strDim, strSub, strType, 1 );
VIEWSUBSETASSIGN ( strCube, strView, strDim, strSub );
Original Relevant Data Tab Code:
ASCIIOUTPUT ( strExportFile,
DIMENSIONELEMENTPRINCIPALNAME ( 'conCompany', vCo ),
strCoSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conPrimaryAcct', vPAcct ),
strPAcctSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conSubAcct', vSAcct ),
strSAcctSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conDetail', vDetail ),
strDetailSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conCostCenter', vCC ),
strCCSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conStateLoc', vStLoc ),
DIMENSIONELEMENTPRINCIPALNAME ( 'conVehicle', vVehicle ),
vYr | CELLGETS ( '}ElementAttributes_conMonth', vMo, 'MonthNum2Digit' ) | '01',
strFiscalPeriodSID,
NUMBERTOSTRING ( vValue ) ,
vScen );
Current Relevant Prolog Tab Code:
#strType = 'Amount';
strDim = 'conType';
strElement1 = 'Amount';
strElement2 = 'Volume';
IF ( SUBSETEXISTS ( strDim, strSub ) = 1 );
SUBSETDELETEALLELEMENTS ( strDim, strSub );
ELSE;
SUBSETCREATE ( strDim, strSub );
ENDIF;
#SUBSETELEMENTINSERT ( strDim, strSub, strType, 1 );
SUBSETELEMENTINSERT ( strDim, strSub, strElement1, 1 );
SUBSETELEMENTINSERT ( strDim, strSub, strElement2, 1 );
VIEWSUBSETASSIGN ( strCube, strView, strDim, strSub );
Current Relevant Data Tab Code:
ASCIIOUTPUT ( strExportFile,
DIMENSIONELEMENTPRINCIPALNAME ( 'conCompany', vCo ),
strCoSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conPrimaryAcct', vPAcct ),
strPAcctSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conSubAcct', vSAcct ),
strSAcctSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conDetail', vDetail ),
strDetailSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conCostCenter', vCC ),
strCCSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conStateLoc', vStLoc ),
DIMENSIONELEMENTPRINCIPALNAME ( 'conVehicle', vVehicle ),
vYr | CELLGETS ( '}ElementAttributes_conMonth', vMo, 'MonthNum2Digit' ) | '01',
strFiscalPeriodSID,
# NUMBERTOSTRING ( vValue ) ,
NUMBERTOSTRING ( CELLGETN ( strCube, vScen, vCo, vPAcct, vSAcct, vDetail, vStLoc, vCC, vVehicle, 'Amount', strBook, vYr, vMo ) ),
NUMBERTOSTRING ( CELLGETN ( strCube, vScen, vCo, vPAcct, vSAcct, vDetail, vStLoc, vCC, vVehicle, 'Volume', strBook, vYr, vMo ) ),
vScen );
Any help would be greatly appreciated.
Line 1) Revenue: 284,061.4; Volume: 95
Line 2) 43,223 0
Line 3) 2,583,056 38,000
The current code gives these values:
Line 1) Revenue: 284,061.4; Volume: 95
Line 2) 43,223 0
Line 3) 2,583,056 38,000
Line 4) Same as Line 1
Line 5) Same as Line 3
Here are the original and current versions of the relevant code in the prolog and data tabs:
Original Relevant Prolog Tab Code:
strType = 'Amount';
strDim = 'conType';
IF ( SUBSETEXISTS ( strDim, strSub ) = 1 );
SUBSETDELETEALLELEMENTS ( strDim, strSub );
ELSE;
SUBSETCREATE ( strDim, strSub );
ENDIF;
SUBSETELEMENTINSERT ( strDim, strSub, strType, 1 );
VIEWSUBSETASSIGN ( strCube, strView, strDim, strSub );
Original Relevant Data Tab Code:
ASCIIOUTPUT ( strExportFile,
DIMENSIONELEMENTPRINCIPALNAME ( 'conCompany', vCo ),
strCoSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conPrimaryAcct', vPAcct ),
strPAcctSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conSubAcct', vSAcct ),
strSAcctSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conDetail', vDetail ),
strDetailSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conCostCenter', vCC ),
strCCSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conStateLoc', vStLoc ),
DIMENSIONELEMENTPRINCIPALNAME ( 'conVehicle', vVehicle ),
vYr | CELLGETS ( '}ElementAttributes_conMonth', vMo, 'MonthNum2Digit' ) | '01',
strFiscalPeriodSID,
NUMBERTOSTRING ( vValue ) ,
vScen );
Current Relevant Prolog Tab Code:
#strType = 'Amount';
strDim = 'conType';
strElement1 = 'Amount';
strElement2 = 'Volume';
IF ( SUBSETEXISTS ( strDim, strSub ) = 1 );
SUBSETDELETEALLELEMENTS ( strDim, strSub );
ELSE;
SUBSETCREATE ( strDim, strSub );
ENDIF;
#SUBSETELEMENTINSERT ( strDim, strSub, strType, 1 );
SUBSETELEMENTINSERT ( strDim, strSub, strElement1, 1 );
SUBSETELEMENTINSERT ( strDim, strSub, strElement2, 1 );
VIEWSUBSETASSIGN ( strCube, strView, strDim, strSub );
Current Relevant Data Tab Code:
ASCIIOUTPUT ( strExportFile,
DIMENSIONELEMENTPRINCIPALNAME ( 'conCompany', vCo ),
strCoSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conPrimaryAcct', vPAcct ),
strPAcctSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conSubAcct', vSAcct ),
strSAcctSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conDetail', vDetail ),
strDetailSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conCostCenter', vCC ),
strCCSID,
DIMENSIONELEMENTPRINCIPALNAME ( 'conStateLoc', vStLoc ),
DIMENSIONELEMENTPRINCIPALNAME ( 'conVehicle', vVehicle ),
vYr | CELLGETS ( '}ElementAttributes_conMonth', vMo, 'MonthNum2Digit' ) | '01',
strFiscalPeriodSID,
# NUMBERTOSTRING ( vValue ) ,
NUMBERTOSTRING ( CELLGETN ( strCube, vScen, vCo, vPAcct, vSAcct, vDetail, vStLoc, vCC, vVehicle, 'Amount', strBook, vYr, vMo ) ),
NUMBERTOSTRING ( CELLGETN ( strCube, vScen, vCo, vPAcct, vSAcct, vDetail, vStLoc, vCC, vVehicle, 'Volume', strBook, vYr, vMo ) ),
vScen );
Any help would be greatly appreciated.