cancel
Showing results for 
Search instead for 
Did you mean: 

Top 1 for multiple measure in single widget sac

thayumanavan
Participant
0 Kudos
354

I have 6 measure and 1 dimension[staff] in this i want to get top 1 of each measure in single widget. Please explain me how can we done in sac 

Regards,
Thayu.

View Entire Topic
JBARLOW
Active Contributor
0 Kudos

So without a planning model, yep we're left with using text boxes to give the visual impression of a table.
In this example I only used 3 measures just to see if it works.
This should give you better performance and I'm sure my code/logic can be greatly improved to run more efficiently.

The 'table' on the right is 9 text boxes.   
T1,T2,T3    --  T2 is the product, T3 is the value
T4,T5,T6    --  T5 is the product, T6 is the value
T7,T8,T9    --  T8 is the product, T9 is the value

T1,T4,T7 -- I just hardcoded the text in as the values never change

Table_3.rankBy( {  relatedDimensions:{[Alias.MeasureDimension]:"M1"},rankOrder:RankOrder.Top,value:1});

var sel = Table_3.getSelections()[0];
var result = Table_3.getDataSource().getResultMember("Product",sel).description;
T2.applyText("Product"+"  "+result);
var arr = Table_3.getDataSource().getResultSet();
var value=   ConvertUtils.stringToNumber(  arr[0][Alias.MeasureDimension].rawValue);
var V2=ConvertUtils.numberToString(value);
	{T3.applyText(V2);}


//----------------------------------------------------------------------------

if(T3.getPlainText().length>0)
	{
		Table_3.rankBy( {  relatedDimensions:{[Alias.MeasureDimension]:"M2"},rankOrder:RankOrder.Top,value:1});
sel = Table_3.getSelections()[0];
result = Table_3.getDataSource().getResultMember("Product",sel).description;

T5.applyText("Product"+"  "+result);
arr = Table_3.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[1][Alias.MeasureDimension].rawValue);
V2=ConvertUtils.numberToString(value);
	T6.applyText(V2);
	
	}


if(T6.getPlainText().length>0)
	
	{
		Table_3.rankBy( {  relatedDimensions:{[Alias.MeasureDimension]:"M3"},rankOrder:RankOrder.Top,value:1});
sel = Table_3.getSelections()[0];
result = Table_3.getDataSource().getResultMember("Product",sel).description;

T8.applyText("Product"+"  "+result);
arr = Table_3.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[2][Alias.MeasureDimension].rawValue);
V2=ConvertUtils.numberToString(value);
	T9.applyText(V2);
	
	}
Table_3.removeRanking();
 

rankingetc-ezgif.com-video-to-gif-converter.gif

thayumanavan
Participant
0 Kudos

Hi @JBARLOW Thank you so much for the solution. Yes its improved the performance but now its taking around 29 sec because i am using 14 text boxes upto 10 text boxes performance was fine. Thank you so much it's a nice thought. please let me know is there anyway to bring under 20 sec. 

Table_6.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"33558012-7484-4421-3006-224195070345"},rankOrder:RankOrder.Top,value:1});
var sel =  Table_6.getSelections()[0];
var result = Table_6.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
//T2.applyText(result);
 
var arr= Table_6.getDataSource().getResultSet();
var value= ConvertUtils.stringToNumber(arr[0][Alias.MeasureDimension].rawValue);
var v2=ConvertUtils.numberToString(value);
{T3.applyText(result+" "+v2);}
 
if(T3.getPlainText().length>0)
{
Table_6.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"31948283-6646-4859-3131-200104570027"},rankOrder:RankOrder.Top,value:1});
sel = Table_6.getSelections()[0];
result = Table_6.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
 
//T5.applyText(result);
arr = Table_6.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[1][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T6.applyText(result+" "+v2);}
}
if(T6.getPlainText().length>0)
{
Table_6.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"70672825-9386-4722-8931-171337372722"},rankOrder:RankOrder.Top,value:1});
sel = Table_6.getSelections()[0];
result = Table_6.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_6.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[2][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T2.applyText(result+" "+v2);}
}
Table_6.removeRanking();
 
Table_13.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"21113101-3185-4544-3738-248129545131"},rankOrder:RankOrder.Top,value:1});
sel = Table_13.getSelections()[0];
result = Table_13.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_13.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[0][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T7.applyText(result+" "+v2);}
 
Table_13.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"31154260-5820-4066-3722-876489481235"},rankOrder:RankOrder.Top,value:1});
sel = Table_13.getSelections()[0];
result = Table_13.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_13.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[1][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T8.applyText(result+" "+v2);}
Table_13.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"22808329-5639-4065-3947-023820268262"},rankOrder:RankOrder.Top,value:1});
sel = Table_13.getSelections()[0];
result = Table_13.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_13.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[2][Alias.MeasureDimension].formattedValue);
v2=ConvertUtils.numberToString(value);
{T9.applyText(result+" "+v2);}
Table_13.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"34898379-6717-4398-3299-236443852618"},rankOrder:RankOrder.Top,value:1});
sel = Table_13.getSelections()[0];
result = Table_13.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_13.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[3][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T10.applyText(result+" "+v2);}
Table_13.removeRanking();
 
Table_15.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"97751905-9347-4728-3713-314650871608"},rankOrder:RankOrder.Bottom,value:1});
sel = Table_15.getSelections()[0];
result = Table_15.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_15.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[0][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T11.applyText(result+" "+v2);}
Table_15.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"27450737-0012-4509-3581-127466913998"},rankOrder:RankOrder.Bottom,value:1});
sel = Table_15.getSelections()[0];
result = Table_15.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_15.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[1][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T12.applyText(result+" "+v2);}
Table_15.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"15705304-5111-4474-3555-936099895243"},rankOrder:RankOrder.Bottom,value:1});
sel = Table_15.getSelections()[0];
result = Table_15.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_15.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[2][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T13.applyText(result+" "+v2);}
 
Table_14.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"15208108-3015-4751-3637-330770027191"},rankOrder:RankOrder.Bottom,value:1});
sel = Table_14.getSelections()[0];
result = Table_14.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_14.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[0][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T14.applyText(result+" "+v2);}
Table_14.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"17352037-1034-4910-8155-931775798257"},rankOrder:RankOrder.Bottom,value:1});
sel = Table_14.getSelections()[0];
result = Table_14.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_14.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[1][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T15.applyText(result+" "+v2);}
Table_14.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"16781443-8313-4628-3400-127855323264"},rankOrder:RankOrder.Bottom,value:1});
sel = Table_14.getSelections()[0];
result = Table_14.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_14.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[2][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T16.applyText(result+" "+v2);}
Table_14.rankBy({relatedDimensions:{[Alias.MeasureDimension]:"17451666-6615-4917-3990-715479087883"},rankOrder:RankOrder.Bottom,value:1});
sel = Table_14.getSelections()[0];
result = Table_14.getDataSource().getResultMember("2CHOW5C4IK4P23Y43CLQ78N2J8Y",sel).description;
arr = Table_14.getDataSource().getResultSet();
value=   ConvertUtils.stringToNumber(  arr[3][Alias.MeasureDimension].rawValue);
v2=ConvertUtils.numberToString(value);
{T17.applyText(result+" "+v2);}
Regards,
Thayu.