Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Dear people,
I have a table which is not part of data mode (secondary tablel). I wanna apply its selections to update the expression in a table (main table) created by data model.
Let say I have a "base fee" and I would like to be able to apply 10% and 20% discounts on it. The discount options are available in a table and I want to update the value of the main table (charts) if any of these options is selected.
Is there a way to address the selections of the secondary table in an expression in the main table? For example by object number?
Thanks in advance
Mahdi
Yep so as long as you only have one basefee selected you could do something like
yourexpression * basefee
yep seems to work, please see the attached example
Please remember to mark this as helpful or the correct answer if I have helped you or answered your question.
This will help users identify the answers should they come across this thread in the future.
Unfortunately, I can not open the file you have provided due to the fact that I use the free version of the software.
I wonder if you can elaborate on the formula:
yourexpression * only({1}basefee)
How a selection in a different table which is not part of the data model is realized in this formula?
Thanks,
Mahdi
No worries, just create a document with this load script, then create a chart table with the dimension of Department and two expressions, one which is Sum(Value) and one which is Sum(Value) * basefee
then create a list box for basefee, make a selection and see what happens
lookup:
LOAD * Inline [
basefee
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
];
Transactions:
Load
'1' as TransCounter,
TransLineID,
TransID,
mod(TransID,26)+1 as Num,
Pick(Ceil(5*Rand1),'A','B','C','D','E') as Department,
Pick(Ceil(6*Rand1),'0','1','2','3','4','5') as Status,
Pick(Ceil(2*Rand1),'0','1') as OverdueFlag,
makedate(Ceil(2017-(3*Rand())),Ceil(12*Rand()),Ceil(28*Rand())) as OrderDate,
date(if(100*rand() >5,makedate('2017',Ceil(12*Rand1),Ceil(28*Rand1)),null())) as ShippedDate,
money(round(RAND()*25000,0.01)) AS Value;
Load
Rand() as Rand1,
IterNo() as TransLineID,
RecNo() as TransID
Autogenerate 10000
While Rand()<=0.5 or IterNo()=1;