cancel
Showing results for 
Search instead for 
Did you mean: 

EBI #Multivalue problem

gunesbt
Active Contributor
0 Kudos

Hi all,

I know that the scenario below is a bit long but not so complicated.I am open to your ideas and questions for elaboration.

I am using BI 4.0 SP04 (including FP3) and have a WEBI report based on a BEx query.In the report, I want to show the number of students whose GPA >2 class by class(like sophomores,seniors,junors etc) i.e I will have a variable like succesfull sophomore students,succesful senior students etc.

To determine the class, I did the following:

I have a BW characteristics called record classification and its format is string.It shows the semester of a student but it is cumulative i.e if you are in 7th semester, it has values 1,2,3,...,7.

I created a WEBI variable called semester_to_class whose formula is:

if record classification=1 or record classification=2 then 1 elseif record classification=3 or 4 then 2....... to determine the class of a student( for example 3rd and 4th semester means 2nd year)

Another WEBI variable called class: max(semester_to_class) so that I will know only the max of semester_to_class since if the student is a senior, I will have values like 1 2 3 4 for semester_to_class so I must take its max since it is his 4th year.

To test whether it works properly, I wrote count(student) where class=4 and it shows the number of senior students i.e there is no problem up to here.

I have another BW char called grade.Its format is string.It shows the grade of a student in a semester like 2.54 2.38 etc.When I wrote count(student) where grade>2 it shows the number of successful student, too.

HOWEVER, when I combine those two( grade and class) it shows #MULTIVALUE.

The variable is this : Count(student) where grade>2 and class=4

It shows multivalue although (I think) there is only 1 record per student whose grade is greater than 2 and class is 4.

By the way in the prompt, the user inputs only 1 year and 1 semester so there is only 1 grade per student.

I know that the scneario is a bit long but not too complicated.I am open to your ideas and questions.

Thank you all.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi

Can you provide the screenshot on how you are grouping the objects?

try this,

first filter the students where grade>2 and class=4 and then apply count function

Regards

Sunil

gunesbt
Active Contributor
0 Kudos

Hi Sunil,

I think you want to show the format of the report, don't you. It is very simple.I will create 4 variables and put those variable one under the other.In other words there will be only four cells in the table:

underclassman successful students:........216

...............

.............

senior successful student:......................318

There are only four cells and the user input single year and single semester.Like 2012 and Fall so that he will see the number of successful students in that semester class by class(like 1.year students(undersclassman).......... 4th year students(seniors) )

Former Member
0 Kudos

Hi Gunes,

Both the class and grade  type as Measure right and not in Dimensions?

Grade is in Char format. you can compare string and number in formula . you'll have a datatype error.

According to 1st mesage: class is in number format and Grade is in char format. need to use ToNumber() to convert the grade to number before comparing.

Regards

Sunil

gunesbt
Active Contributor
0 Kudos

Yes they are both measures but you don't need to convert to number.Since, I verified this, both variables give the correct outputs seperately i.e it can consider e.g 2.3 as greter than 2.1 and only those whose grade is >2 are counted which is correct..

Nevertheless, I tried to convert number first and still getting the error.

Thank you for your suggestions

gunesbt
Active Contributor
0 Kudos

Hi,

The problem is solved.I added foreach(student) near where keyword and now it counts correctly.

i.e Count(student) where (grade>2 and class="4" foreach(student))

Thanks

Answers (0)