Re: cognostm1 cubeview export recent six months data by usin
Posted: Thu Nov 06, 2014 4:55 pm
by gopal
paramSrcCube
paramTgtCube
paramNeedRules
paramSrcCube,""
paramTgtCube,""
paramNeedRules,1.
637,3
paramSrcCube, Enter the Name of Cube
paramTgtCube, Enter the New Name of Cube
paramNeedRules, Do you want to attach Source Cube Rules to the Newly created cube? (Enter Number: 1 for Yes)
#****Begin: Generated Statements***
#****End: Generated Statements****
#######################################################
#This process REPLICATES the provide Cube
#This process also copies the DATA source Cube to newly created Cube.
#Along with it, it optionally attached RULES to newly create cube
#NOTE: This process is valid for the Cube having Maximum 16 Dimensions.
#######################################################
processName = 'util_Cube_Rename';
debugFile = GetProcessErrorFileDirectory | processName | '_' | TimSt(Now, '\Y\m\d\h\i\s') | '_' | paramSrcCube | '.pro' ;
errorFlag = 0;
# Check If Source Cube parameter has been provided
If( Trim( paramSrcCube ) @= '' );
errorFlag = 1;
Msg = 'ERROR: Source Cube value not specified';
AsciiOutput( debugFile, Msg );
ProcessBreak;
EndIf;
# Check If Target Cube parameter has been provided
If( Trim( paramTgtCube ) @= '' );
errorFlag = 1;
Msg = 'ERROR: Target Cube value not specified';
AsciiOutput( debugFile, Msg );
ProcessBreak;
EndIf;
# Check if Source Cube exists
If( CubeExists(paramSrcCube) = 0 );
errorFlag = 1;
Msg = 'ERROR: The Source Cube ' | paramSrcCube | ' does not exists. Process terminating';
AsciiOutput ( debugFile, Msg);
DataSourceType = 'NULL';
EndIf;
# Check if Target Cube does not exists
If( CubeExists(paramTgtCube) = 1 );
errorFlag = 1;
Msg = 'ERROR: The Target Cube ' | paramTgtCube | ' already exists. Overwriting it may result in data loss. Proces Terminating. Please re-run the pro
cess with unique New Cube Name';
AsciiOutput ( debugFile, Msg);
DataSourceType = 'NULL';
EndIf;
# Determine count of existing Dimensions in the Source Cube
Cntr=1;
While (TabDim (paramSrcCube, Cntr) @<> '');
currentDim = TabDim(paramSrcCube, Cntr);
Cntr = Cntr + 1;
End;
dimCount = Cntr - 1 ;
Dim1 = TabDim( paramSrcCube, 1 );
Dim2 = TabDim( paramSrcCube, 2 );
Dim3 = TabDim( paramSrcCube, 3 );
Dim4 = TabDim( paramSrcCube, 4 );
Dim5 = TabDim( paramSrcCube, 5 );
Dim6 = TabDim( paramSrcCube, 6 );
Dim7 = TabDim( paramSrcCube, 7 );
Dim8 = TabDim( paramSrcCube, 8 );
Dim9 = TabDim( paramSrcCube, 9 );
Dim10 = TabDim( paramSrcCube, 10 );
Dim11 = TabDim( paramSrcCube, 11 );
Dim12 = TabDim( paramSrcCube, 12 );
Dim13 = TabDim( paramSrcCube, 13 );
Dim14 = TabDim( paramSrcCube, 14 );
Dim15 = TabDim( paramSrcCube, 15 );
Dim16 = TabDim( paramSrcCube, 16 );
# Create the Target Cube first
If( dimCount = 2 );
CubeCreate( paramTgtCube, Dim1, Dim2 );
ElseIf( dimCount = 3 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3 );
ElseIf( dimCount = 4 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4 );
ElseIf( dimCount = 5 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5 );
ElseIf( dimCount = 6 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6 );
ElseIf( dimCount = 7 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, Dim7 );
ElseIf( dimCount = 8 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, Dim7, Dim8 );
ElseIf( dimCount = 9 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, Dim7, Dim8, Dim9 );
ElseIf( dimCount = 10 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, Dim7, Dim8, Dim9, Dim10 );
ElseIf( dimCount = 11 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, Dim7, Dim8, Dim9, Dim10, Dim11 );
ElseIf( dimCount = 12 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, Dim7, Dim8, Dim9, Dim10, Dim11, Dim12 );
ElseIf( dimCount = 13 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, Dim7, Dim8, Dim9, Dim10, Dim11, Dim12, Dim13 );
ElseIf( dimCount = 14 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, Dim7, Dim8, Dim9, Dim10, Dim11, Dim12, Dim13, Dim14 );
ElseIf( dimCount = 15 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, Dim7, Dim8, Dim9, Dim10, Dim11, Dim12, Dim13, Dim14, Dim15 );
ElseIf( dimCount = 16 );
CubeCreate( paramTgtCube, Dim1, Dim2, Dim3, Dim4, Dim5, Dim6, Dim7, Dim8, Dim9, Dim10, Dim11, Dim12, Dim13, Dim14, Dim15, Dim16 );
EndIf;
# Creating DataSource
DataSourceType = 'VIEW' ;
DatasourceNameForServer = paramSrcCube;
DatasourceNameForClient = paramSrcCube;
NValue = 0;
SValue = '0';
Value_is_String = 0;
# Creating Temp View of the target cube
viewNumber = TimSt(Now, '\i\s') ;
tempView = '_' | processName | '_' | viewNumber ;
If (ViewExists ( paramSrcCube, tempView ) = 0 ) ;
ViewCreate( paramSrcCube, tempView );
EndIf;
ViewExtractSkipCalcsSet( paramSrcCube, tempView, 1);
ViewExtractSkipZeroesSet( paramSrcCube, tempView, 1);
DatasourceCubeView = tempView;
573,3
#****Begin: Generated Statements***
#****End: Generated Statements****
574,115
#****Begin: Generated Statements***
#****End: Generated Statements****
# Break the Process if errors are found
If( errorFlag > 0 ) ;
ProcessBreak;
EndIf;
# Copying the Data from Source Cube to Target Cube
If( dimCount = 2 );
elementType = DType( Dim2, v2 );
If( elementType @<> 'S' );
CellPutN( Numbr( v3 ), paramTgtCube, v1, v2 );
Else;
CellPutS( v3, paramTgtCube, v1, v2 );
EndIf;
ElseIf( dimCount = 3 );
elementType = DType( Dim3, v3 );
If( elementType @<> 'S' );
CellPutN( Numbr( v4 ), paramTgtCube, v1, v2, v3 );
Else;
CellPutS( v4, paramTgtCube, v1, v2, v3 );
EndIf;
ElseIf( dimCount = 4 );
elementType = DType( Dim4, v4 );
If( elementType @<> 'S' );
CellPutN( Numbr( v5 ), paramTgtCube, v1, v2, v3, v4 );
Else;
CellPutS( v5, paramTgtCube, v1, v2, v3, v4 );
EndIf;
ElseIf( dimCount = 5 );
elementType = DType( Dim5, v5 );
If( elementType @<> 'S' );
CellPutN( Numbr( v6 ), paramTgtCube, v1, v2, v3, v4, v5 );
Else;
CellPutS( v6, paramTgtCube, v1, v2, v3, v4, v5 );
EndIf;
ElseIf( dimCount = 6 );
elementType = DType( Dim6, v6 );
If( elementType @<> 'S' );
CellPutN( Numbr( v7 ), paramTgtCube, v1, v2, v3, v4, v5, v6 );
Else;
CellPutS( v7, paramTgtCube, v1, v2, v3, v4, v5, v6 );
EndIf;
ElseIf( dimCount = 7 );
elementType = DType( Dim7, v7 );
If( elementType @<> 'S' );
CellPutN( Numbr( v8 ), paramTgtCube, v1, v2, v3, v4, v5, v6, v7 );
Else;
CellPutS( v8, paramTgtCube, v1, v2, v3, v4, v5, v6, v7 );
EndIf;
ElseIf( dimCount = 8 );
elementType = DType( Dim8, v8 );
If( elementType @<> 'S' );
CellPutN( Numbr( v9 ), paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8 );
Else;
CellPutS( v9, paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8 );
EndIf;
ElseIf( dimCount = 9 );
elementType = DType( Dim9, v9 );
If( elementType @<> 'S' );
CellPutN( Numbr( v10 ), paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9 );
Else;
CellPutS( v10, paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9 );
EndIf;
ElseIf( dimCount = 10 );
elementType = DType( Dim10, v10 );
If( elementType @<> 'S' );
CellPutN( Numbr( v11 ), paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 );
Else;
CellPutS( v11, paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 );
EndIf;
ElseIf( dimCount = 11 );
elementType = DType( Dim11, v11 );
If( elementType @<> 'S' );
CellPutN( Numbr( v12 ), paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11 );
Else;
CellPutS( v12, paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11 );
EndIf;
ElseIf( dimCount = 12 );
elementType = DType( Dim12, v12 );
If( elementType @<> 'S' );
CellPutN( Numbr( v13 ), paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12 );
Else;
CellPutS( v13, paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12 );
EndIf;
ElseIf( dimCount = 13 );
elementType = DType( Dim13, v13 );
If( elementType @<> 'S' );
CellPutN( Numbr( v14 ), paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13 );
Else;
CellPutS( v14, paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13 );
EndIf;
ElseIf( dimCount = 14 );
elementType = DType( Dim14, v14 );
If( elementType @<> 'S' );
CellPutN( Numbr( v15 ), paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14 );
Else;
CellPutS( v15, paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14 );
EndIf;
ElseIf( dimCount = 15 );
elementType = DType( Dim15, v15 );
If( elementType @<> 'S' );
CellPutN( Numbr( v16 ), paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 );
Else;
CellPutS( v16, paramTgtCube, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 );
EndIf;
EndIf;
575,29
#****Begin: Generated Statements***
#****End: Generated Statements****
#Delete the TempView
If( ViewExists( paramSrcCube, tempView) = 1 );
ViewDestroy( paramSrcCube, tempView);
EndIf;
If ( errorFlag > 0 ) ;
ProcessQuit;
EndIf;
# Attach Rule to the Replicated Cube
If( paramNeedRules = 1 );
ruleFile = paramSrcCube | '.rux';
If( FileExists( ruleFile ) = 1 );
RuleLoadFromFile( paramTgtCube, ruleFile );
EndIf;
EndIf;
#Deleting Source Cube
CubeDestroy( paramSrcCube );
576,CubeAction=1511DataAction=1503CubeLogChanges=0