on 2023 Dec 26 1:13 AM
Hello Folks
I am trying to add either a KG measure or LBS measure to the table based on the plant. I have 8 KFs, 4 in KG and 4 in LBS. Certain plants will show the 4 KFs that are in KG and others in LBS. So when the plant A is selected I want to only display 4 KFs in LBS while Plant B will show 4 KFs in KG.
Now I know the dimensionfilter for KFs can add only one KF to the filter in a single statement so the suggestion is to fire 4 statements (one for each KF or loop thru it) but When I add the 4 KFs to the datasource dimension filter only the last KFs shows in the table (not all 4). In this example I am not showing a plant selection but listing only KFs with "KG" in the KF description.
var ds = Table_1.getDataSource();
var dimensions = Alias.MeasureDimension;
var tt = dimensions.length;
for (var i=0; i<tt; i++) {
tt1 = Table_1.getDataSource().getMeasures()[i].description;
if (tt1.includes("KG")) {
ds.setDimensionFilter(Alias.MeasureDimension, Table_1.getDataSource().getMeasures()[i]); }
}
I end up with the very last KF in the table.
Before the script is fired.. at startup.
After the script is run - only the last column shows instead of 4 KFs for KG.
Please advise.
Request clarification before answering.
apeera
apeeraThe system is doing exactly what your code is asking it to do. When you loop, it runs in a sequence and only the last value in loop variable i will be retained as previous 3 values were set as filters one by one. I think you need to create an array of measures with type KG and then pass that array rather than a single variable. Something like below
var ds = Table_1.getDataSource();
var measures = ArrayUtils.create(Type.MeasureInfo);
var member = ds.getMeasures();
for (var i=0; i<member.length; i++) {
var memberId = member[i].id;
var memberDescription = member[i].description;
if (memberDescription.includes("KG"))
{
measures.push({id: memberId, description: memberDescription});
}
}
console.log(measures); // just to see list of measures. can be removed later
ds.setDimensionFilter(Alias.MeasureDimension, measures);
Br.
Nikhil
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
62 | |
8 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.