Categories
- All Categories
- 15 Oracle Analytics Sharing Center
- 14 Oracle Analytics Lounge
- 211 Oracle Analytics News
- 42 Oracle Analytics Videos
- 15.7K Oracle Analytics Forums
- 6.1K Oracle Analytics Idea Labs
- Oracle Analytics User Groups
- 78 Oracle Analytics Trainings
- 14 Oracle Analytics Data Visualizations Challenge
- Find Partners
- For Partners
supressing a row in OBIEE 11

hi have a simple report that shows patient appointments.
some patients have more than one appt on any given day.
the analysis gets extracted to SMS provider so we send duplicate messages if patient has more than one appt on same day.
name appt date appt time appt key
smith 1/10/17 09:30 1234
jones 1/10/17 10:00 1235
jones 1/10/17 10:30 1235
so in example above just what to show jones once - suppress or exclude the bottom row...
any ideas?
thanks
Answers
-
Hi,
To exclude a row you must be able to identify that row and filter it ...
A possible way would be numbering rows by "name" (or "appt key" depending on your business logic) and only keep row number = 1, so all the others will be filtered.
0 -
To suppress the value you can give below method a try:
Keep the column "appt time" at the last in Criteria and Result as this is the only column with different value between two rows and make sure for rest of the columns(name ,appt date and appt key) properties within "Column Properties"--->"Column Format"-->"Value Suppression" is set to "Suppress"(its the default value anyways until modified).
0 -
Plan B similar to first option about row numbering: add an aggregation on your "appt time". Something like MAX or MIN depending on the one matching your logic the best. This will return you a single row and not 2 anymore.
0 -
Make your data feed:
DISTINCT name appt date appt key
OR
name appt date appt time appt key rank() over (partition by appt key order by appt time) as rnk
WHERE rnk = 1
Using OBIEE as a data pump is sub-optimal ... there are much better ways to do this.
0 -
thanks for all the suggestions - got it to work using formula below then filtering for first rows only
rcount( "Appointment (details)"."Pre-op date/time" by "Patient"."Medical record number" )
0 -
Good it works for you, as it has been suggested as solution ...
Can you please close the thread? This question is Not Answered.
0 -
Based on the sample data above, I can suggest you to use MIN or MAX functions for appt time column grouping other columns.
Syntax : MIN[or MAX](appt time BY *all other columns*)
0