Page 1 of 1

zerout view

Posted: Tue Nov 24, 2020 3:51 am
by manu0521
Hi,

I am trying to create a view assign subset and then zero out in prolog

for the subset, i am doing the below code

Code: Select all

vDimension='Invoiced Partners';
vSourceSubset=vDimension| ' All N';
vMdx= '{TM1FILTERBYLEVEL( {TM1SUBSETALL( [Invoiced Partners] )}, 0)}';
if(SubsetExists(vDimension,vSourceSubset)=1);
SubsetDeleteAllElements(vdimension,vSourceSubset);
Endif;
Subsetcreatebymdx(vSourcesubset,vMdx);
viewsubsetassign('Agency Sales DWH',vZeroOutSourceView,vDimension,vSourceSubset);
I am creating a subset with mdx to get all n and then assigning it to a view
on subsertcreatebymdx i am getting an error unable to register the subset .

Does this mean i cannot create a subsetcreatebymdx on prolog ?
how can i resolve this.

Re: zerout view

Posted: Tue Nov 24, 2020 5:09 am
by howard40116
1.you can try to paste your mdx in the subset selector, validate your mdx is correct.

2.you can try to destroy your temporary subset or use subsetMDXSet.

Code: Select all


#1.SubsetDestroy

vDimension='Invoiced Partners';
vSourceSubset=vDimension| ' All N';
vMdx= '{TM1FILTERBYLEVEL( {TM1SUBSETALL( [Invoiced Partners] )}, 0)}';
if(SubsetExists(vDimension,vSourceSubset)=1);
    SubsetDestroy(vdimension,vSourceSubset);
Endif;
Subsetcreatebymdx(vSourcesubset,vMdx);
viewsubsetassign('Agency Sales DWH',vZeroOutSourceView,vDimension,vSourceSubset);


#2.subsetMDXSet
vDimension='Invoiced Partners';
vSourceSubset=vDimension| ' All N';
vMdx= '{TM1FILTERBYLEVEL( {TM1SUBSETALL( [Invoiced Partners] )}, 0)}';
if(SubsetExists(vDimension,vSourceSubset)=1);
    SubsetDeleteAllElements(vdimension,vSourceSubset);
    SubsetMDXSet(vdimension, vSourceSubset, vMdx);
ELSE;
    Subsetcreatebymdx(vSourcesubset,vMdx);
Endif;

viewsubsetassign('Agency Sales DWH',vZeroOutSourceView,vDimension,vSourceSubset);




Re: zerout view

Posted: Tue Nov 24, 2020 2:46 pm
by manu0521
stiill the same error :

vDimension='Invoiced Partners';
vSourceSubset=vDimension| ' All N';
vMdx= '{TM1FILTERBYLEVEL( {TM1SUBSETALL( [Invoiced Partners] )}, 0)}';

if(SubsetExists(vDimension,vSourceSubset)=0);
SubsetCreate(vDimension,vSourceSubset);
Else;
SubsetDeleteAllElements(vdimension,vSourceSubset);
Endif;
Subsetcreatebymdx(vSourcesubset,vMdx);
viewsubsetassign('Agency Sales DWH',vZeroOutSourceView,vDimension,vSourceSubset);

Unable to register the subset . mx is validated in subset editor.

Re: zerout view

Posted: Tue Nov 24, 2020 3:54 pm
by PavoGa
manu0521 wrote: Tue Nov 24, 2020 2:46 pm stiill the same error :

vDimension='Invoiced Partners';
vSourceSubset=vDimension| ' All N';
vMdx= '{TM1FILTERBYLEVEL( {TM1SUBSETALL( [Invoiced Partners] )}, 0)}';

if(SubsetExists(vDimension,vSourceSubset)=0);
SubsetCreate(vDimension,vSourceSubset);
Else;
SubsetDeleteAllElements(vdimension,vSourceSubset);
Endif;
Subsetcreatebymdx(vSourcesubset,vMdx);
viewsubsetassign('Agency Sales DWH',vZeroOutSourceView,vDimension,vSourceSubset);

Unable to register the subset . mx is validated in subset editor.
The problem is you are trying to create the subset when it already exists. Change this:

Code: Select all

Subsetcreatebymdx(vSourcesubset,vMdx);

 # to this:
 SubsetMDXSet(vDimension, vSourceSubset, vMDX);