How to define an aggregation rule for a dimension based on bridge table?
Hello,
I need a solution for aggregating data correctly when using a dimension based on a set of dimensione tables containing a bridge table. Please find below a description of my business case and the OBIEE model which I’ve created thus far.
Business Case
The company involved wants to report on the number of support cases, the different types of actions that were taken and the people involved in those actions. One support case will undergo a number of actions (called ‘handelingen’) until it is closed. For each action at least one person is involved performing a specific role, but there can also be multiple persons involved with 1 action, each performing a different role for that action. This is the N : N part of the model.
The problem that I face is visible in the two pictures below:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/sample.png
As long as I don’t include anything from the Dimension Meelezer in my report, I get the correct number of handelingen (7). When I include the person (called ‘Meelezer’), the measuere per action is multiplied by the number of persons/roles involved with that action.
When I changed the Aggregation rule in the report column #Handelingen to ‘Server Complex Aggregate’ I do get the correct endtotal:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/sample2.png
I believe it should be possible to define in the repository a different aggregation rule for individual dimensions, but I’ve not been able to achieve this.
Explained below is what I have created in my Physical and Business Model & Mapping layers:
The Physical Model is built like this:
(This is just a small part of a much larger physical model, but I’ve only included the most relevant tables)
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/PhysicalDiagram-1.png
The Fact table (ALS Feit Zaakverloop) contains FK’s for the action (FK_HANDELING, joined to ALS Dim Handeling), the date the action took place (FK_DATUM_ZAAKVERLOOP, joined to ALS Dim Datum Zaakverloop) and the uniqe group of people involved (FK_MEELEZERS, joined to ALS Groep Meelezers) and a measure column (SUM_HANDELINGEN) populated with the value ‘1’ for each row.
The Bridge table (ALS Brug Meelezer/Reden Meelezen) contains three FK’s: FK_GR_MEELEZERS (joined to ALS Groep Meelezers), FK_MEELEZER (joined to ALS Dim Functionaris) and FK_REDEN_MEELEZEN (joined to ALS Dim Reden Meelezen).
The Business Model
In the business model, the four physical tables for the N:N relation have been combined into one logical dimension table.
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/BusinessModel-1.png
DIM Meelezer contains one LTS in which the four physical tables have been combined:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/LTS1.png
And all the required locical columns have been created:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/LTS2.png
DIM Meelezer has also been identified as a bridge table and a Business Key has been defined on a combination of the FK’s in the bridge table and business codes of the two dimension tables.
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/BMDIM.png
Next a hierachy was created for Dim Meelezer:
http://i84.photobucket.com/albums/k24/The_Dutchman_2006/OBIEE/Hier.png
In Feit Zaakverloop, a measurement called ‘# Handelingen’ was created using SUM_HANDELINGEN, with an aggregation rule of SUM.
In the LTS of both the DIM Meelezer and Feit Zaakverloop, the Logical Content Levels have both been set to: LVL Detail – Meelezer.
Please provide suggestions that will NOT require changes to the physical datamodel as they would require too much time to achieve (or at leats would not be ready before my deadline.
Thanks!
Edited by: The_Dutchman on Dec 13, 2011 11:43 AM
Hmm, no replies yet...
Am I in 'uncharted territory' with this issue?
Similar Messages
-
How to Define Multiple Notification Rules for Different E-Mail Channels?
In C4C we can define a notification rule for New tickets, for example, that provides an acknowledgement of receiving the customer's e-mail.
This works great for a single support team, but what if we have multiple support teams, each with their own e-mail address, and each with unique requirements for their auto-acknowledgement?
When setting up a new notification rule, there doesn't appear to be any option to define the e-mail channel, service and support team value, or a "from" e-mail address.
We're on-boarding over a dozen e-mail teams, and I'd hate to tell them that they'll all have to share one auto-acknowledgement template from a single do-not-reply address.
Does anyone know if this is possible to:
Define the e-mail channel or service and support team as an condition in the notification rules.
Define the outgoing "from" e-mail address for a notification rule.
Thanks for any insight the community might have!
Mike
T-Mobile USAHi Mike,
As of release 1402, your analysis is correct. The out-of-the-box notification rules do not include the "incoming email channel" as one of fields on which to build condition, and all notifications are sent from a common do-not-reply address.
You can easily overcome the first limitation by using the SDK. For example, when the ticket is created you could set an extension field based on the email channel, and then use the extension field to define different notification rules, using different templates. All extension fields are automatically available to be used as conditions.
Thank you for your feedback and for bringing this item to our attention. We will definitely keep this in mind as we plan for future releases.
Kind regards,
Gabriele Bodda
Product Management -
Aggregation rules for calculations
Hi
I have a calculation (logical column) Z as X*Y and I want Z to be an average at different levels in hierachy. How do I do it in OBIEE?Hi Siddharth,
Specifying Aggregation rule for a column in Admin Tool and applying Formula for a column in Answers work differently.
We usually specify Aggregation rule in Admin tool to implement the calculation measures. So, it will be used along with the logical levels.
Where as specifying Formula for a column in Answers works for that particular Request only..
Comes to its Significance...
Take the general example... Sales by Country, Region, District and City
To calculate the total sales Country, Region, District and City wise we specify aggregation rule as SUM for the Amount column..
In order to calculate the logical level wise details we use Aggregations..i.e., Measures..
For last question, is your saying the use of 'Use Existing Logical columns as the Source'..
In this case, I think it is not possible to specify the Aggregation rule in Admin tool.
-Vency -
How to defined data carrier valued for Linux?
Hi,
I am Defining Data Carrier. But I don't understand "Data carrier type" value. Is this PC value data carrier type for window? So If I want to define value data carrier for Linux. How to defined data carrier valued for Linux?
Please advise,
DuypmHi Nikita,
Refer the below mentioned links for your requirement.
http://forums.sdn.sap.com/thread.jspa?threadID=412923
http://forums.sdn.sap.com/thread.jspa?threadID=1639500
Both have good guidelines on coding as well as configuration part.
Regards,
Deepak Kori -
How to define the copy rules in master contract
Hi,
Could you please help me on how to define the copy rule in master contract . I cann't find the link,it's not under IMG/SD/sales/contract/master contract/define referencing prodecures.
Thanks/CindyHi Sai,
I'm afraid VTAA may not resolve my problem. What I want is to define the copy rule. When you go into IMG/SD/sales/contracts/master contract/define referencing requirments/define reference procedure you will find there is a copy rule in field area. What I really want is to define that copy rule.
Thanks -
How to generate a number sequence for a column of a Z*table?
Hi ,
How to generate a number sequence for a column of a Z*table?
plz guide me.
thanks
Albert1) Use SNRO for defining a number range.
2) Use FM NUMBER_GET_NEXT for getting the next number with object, sub object etc..
See one example below.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = c_01
object = c_z_prd_code
* QUANTITY = '1'
subobject = p_vkorg
* TOYEAR = '0000'
* IGNORE_BUFFER = ' '
IMPORTING
number = in_prd_code
* QUANTITY =
* RETURNCODE =
EXCEPTIONS
interval_not_found = 1
number_range_not_intern = 2
object_not_found = 3
quantity_is_0 = 4
quantity_is_not_1 = 5
interval_overflow = 6
buffer_overflow = 7
OTHERS = 8
3) You may write these code in main program of the table maintinence
rgds,
TM. -
How to remove the default members of a dimension from the control table?
Hi all,
I am new to hyperion FDM 11.1.1.2.0.0 .
When I navigate to Metadata>Control Tables and try to delete the default memmbers
for the dimension like category and period i got the following error.
Error: Period( 8/31/2009 ) is an active Global or Local Period and cannot be deleted.
Then again i unchecked active checkbox for that dimension from Hyperion Essbase Integration Setup of Workbench Client.
After doing that i got the following error
Error: Unable to retrieve target System Data.
Can anyone tell me how to remove the default members of a dimension from the control table?
ThanksCreate a new record for the table.
Go change the POV to the new record.
Return to the control table and delete the default record. -
Substract as an aggregation rule for different level in a DIM ?!
Hi there..
I'm building a BI model based on financial transactions (incomes, expenses, etc..)
and my main problem is how to substract a measure, where the aggregation rule is set to SUM, for different levels in the "Account" dimension?
Example:
I have the "Account" dimension with the following hierarchy:
Account_ID / Account_name / Account_type / Account_total
And, lets say, 2 rows in it:
1.row in the "Account" dimension:
account_ID : 100
account_name : "Marketing expense"
account_type : "Variable expenses"
account_total : "Total profit" (total income - total Expenses)
2. row in the "Account" dimension:
account_ID : 200
account_name : "Financial incomes"
account_type : "Total incomes"
account_total : "Total profit" (total income - total Expenses)
"Total profit"
"Tot. incomes" "Tot. Expenses"
"Finan. incomes" "Market. expenses"
The fact table has just one measure: "Amount" and, of course, some foreign keys:
Account_ID -> "Account" dim
Organization_ID -> "Organization" dim
Date -> "Date" dim
Amount
The measure "Amount" in the fact table is positive both for expenses and incomes.
Now, what I'm trying to do is to sum up that measure on my top level in the "Account" dim.
At that level my report in Answers should substract "Total expenses" from "Total incomes"!
How can I do that?
thanks..
IvanSorry to pop the obvious question, but can't you model that nicely and put it into distinct columns?
If not, you can create derived measures on you fact using "case when" statements. One for the incomes with amount > 0 (or >=0 ...depends on where you want to have the 0's) and one for the expenses with amount < 0.
HTH,
Chris -
How to define Template Selection Rules according to doc language code
hi All,
I am using ucm10g, I need to use DC to convert word to html, by defining Template Selection Rules, it worked perfect.
Question is I have to use different template for different content that use different languages, for example, if a content has a primary file writing in English, that content will be checked in with langCode attribute of "en", and according to this langCode attribute, I will use different template that will show "nextpage" or "previouspage" according to langCode field, other content will use other template that show "nextpage" or "previouspage" in other language.
I donot think the fields used in Template Selection Rules(such as author, type, profile) in ucm10g can be used in this case, any suggestion?
Best regardsI will ask easier.
is it possible to set in RSCUR -> Exchange rate type 'Y' and Exchange rate from InfoObject '0EXRATE_ACC' AND use it in BEx?
If yes, how, if now why?
Thank you
Standa -
[SOLVED] how to use diffrent iptables rules for different ppp account?
x86 plantform run arch linux system , have two network interface etn1 eth0 .eth1 connect to internet. eth0 connect to other terminals through switch. want use different iptables rules for different pppoe account .also want to know how to forbidden more than one terminals established pppoe link use same account at the same time .
Last edited by linuxsir (2013-09-26 06:48:01)(You establish PPPoE sessions over the local network to the Arch machine? Which then routes the traffic?)
first question ,yes that is exactly what i am done. second question i also have a small scripts on windows pc to solve routes traffic problem
route -p delete 0.0.0.0
route -p add 192.168.9.0 mask 255.255.255.0 192.168.9.1
route -p add 0.0.0.0 mask 0.0.0.0 192.168.22.0
but after a while i found scripts is not necessary because windows always attempt to use PPPoE sessions as default internet connection local connection is also ok
and use -i pppX in my iptables rules dose not solve my problem , because same account start PPPoE session could be marked as ppp0 or ppp1. it is hard to identified which account start session. -
How to define Composite primary key for a Table
Hi ,
I am basically more into Java Programming , with little bit knowledge on Oracle as DataBase .so please excuse for my silly doubts .
Can anybody please tell me how to define a Composite Primary Key on a Table .
Thanks in advance .
Edited by: user672373773 on Sep 25, 2009 8:54 AMHere is an example right out of the Oracle documentation and the syntax for adding PK since you mention adding a composite PK.
Example creating composite index
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_indexing.htm#sthref594
Syntax for adding a PK (composite or not)
alter table oooooooo.tttttttt
add constraint tttttttt_PK
primary key (sample_column2,
sample_column1)
using index
tablespace IDXSPC
pctfree 05
initrans 04
maxtrans 08
storage (initial 16k
next 16k
maxextents 32
pctincrease 0);
-- dictionary management with restricted storage, change as desired.
HTH -- Mark D Powell -- -
How to define logic to BO for display of more meaningful messages in Webi?
Hi All.
Greetings for the Festive Season.
We would like to know as to how to define the logic to our BO application while displaying messages to end users of Web Intelligence.
We have defined restrictions for various users and restrictions are appliced correctly when the user logs in.
We have some MIS REPORTS in Web Inetlligence with different charts and we have also given links to various other web intelligence reports at the bottom for users to click and view or do analysis.
And if any user if he/ or she is not authorised to view any / or part of the report - it does not show up.
Which works well.
But if some user is not part of any group and is not authorised to view data in a particular report, then we see a standard message coming in like :
"No Data to retrieve in Query1" or "No Data to retrieve in ABC".
Which one could say is correct. Because for that particular user, the query has NO data.
But. We feel there has to be a logic to be defined differently with the applicaton.
How do we differentiate - as to whether the query does not really have data at the back end and HENCE it is saying No data to retrieve in the Query or report
OR whether the user who is trying to view report is NOT authorised to view
AND HENCE the message is displayed as "No Data to Retrieve"
We looked at the source file and it is pointing to :../AnalyticalReporting/viewers/cdz_adv/ViewDocument.jsp?
But we found it a bit difficult to understand the logic there.
Could anyone advise as to how we could define this logic for Web Intelligence - so that messages we see on screen for the end user could be more meaningful ? How do we really make the system understand or look for 2 options as to whether the message to be displayed is because there is REALLY NO DATA AT THE DATABASE LEVEL, OR whether the USER is not authorised to view this data.
Can this be made possible by any means or thro SDK ?
Many thanks
Regards
Indu
Edited by: Indumathy Narayanan on Dec 21, 2010 9:50 AM
Edited by: Indumathy Narayanan on Dec 21, 2010 9:51 AM
Edited by: Indumathy Narayanan on Dec 21, 2010 9:54 AMHere is my current report detail view.
[http://s49.photobucket.com/albums/f270/helenen/add/?action=view¤t=2010-06-2511-44-20.png]
(click on link and view at 100%)
The 3 rd KF column is the calculated ratio which is => 2nd Column (Work Hrs) A% 1st column (PlanHrs)
Right now, I cann't get % at detail line (they're now shown as X, because PlanHrs is not null at detail line.
I'd like those X should be calculated as => WorkHrs (at that line) A% PlanHrs (of that specific employee) .
For example: 16 A% 1827 = 0.875%
It seems soo eassy but I coulnd't do it. -
How to define the date format for this date string
2006-11-13 00:00:00.0
How to define the date format in control file for sqlldr. "yyyy-mm-dd hh24:mi:ss" or "yyyy-mm-dd hh24:mi:ss.FF1" does not work
thanks,SQL> desc t
Name Null? Type
TS TIMESTAMP(6)
SQL> !cat t.ctl
load data
into table t
truncate
(ts timestamp "YYYY-MM-DD HH24:MI:SS.FF1")
SQL> !cat t.dat
2006-11-13 00:00:00.0
SQL> !sqlldr userid=scott/tiger control=t.ctl data=t.dat log=t.log
SQL*Loader: Release 10.2.0.3.0 - Production on Fri Sep 7 11:19:28 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Commit point reached - logical record count 1
SQL> select * from t;
TS
13-NOV-06 12.00.00.000000 AMBest regards
Maxim -
How to define the default activity for an unbounded task flow?
In the new "Fusion Developer’s Guide for Oracle Application Development Framework 11g Release 1" documentation at the bottom of page 14-3 it states "An unbounded task flow .... contains a default activity, an activity designated as the first to run in the unbounded task flow, because an unbounded task flow does not have a single point of entry."
What I can't find is how to define the default activity in an unbounded task flow and where this is recorded? Can we set this via the task flow diagrammer, and which configuration file is it stored?
I note the first time I run the application with an unbounded task flow a dialog asks me which of the activities in the adfc-config.xml file to make the default, but I can't find where this is recorded.
Anybody have any ideas?
Thanks,
CM.Chris,
In fact this information is nothing that belongs into the taskflow meta data because unbounded taskflow have more than one entry point and there is no notion of default. Its a tools setting (JDeveloper) we had before
Frank
Message was edited by:
Frank Nimphius -
How to Add/Edit validation rule for Column in ADf table(Jdeveloper11g)
I am working on Jdevloper11g with ADF table. There i have one column where user can enter numeric value in range 1-1000 .So i have to add validation as such he/she can't enter value apart from 1-1000 range also not any other charcters.
I know on form, if i select attribute from binding and right click i will find one option "Edit Vlaidation rule..." and from there i can change validation rule for perticular field.
But how i can achive same on Column's filed??
Thanks for all help.
JaydeepHi Barnislav,
I tried the way you mentioned but i am getting below exception.
Could not complete Edit validation Rule... Because it would result in an invalid document
oracle.bali.xml.model.XmlInvalidOnCommitException: SEVERE: Element RangeValidationBean not expected [ node = RangeValidationBean ]
<tree IterBinding="searchConfigurationDataIterator" id="searchConfigurationData" ApplyValidation="true">
<nodeDefinition DefName="com.oraclecnm.util.search.SearchAttributeBean">
<AttrNames>
<Item Value="searchAttributeName" />
<Item Value="searchAttributeId" />
<Item Value="weightage" />
<Item Value="isAttributeSearchable" />
</AttrNames>
</nodeDefinition>
<RangeValidationBean OnAttribute="weightage" ResId="pages.SearchConfigurationPageDef.searchConfigurationData_Rule_1" Inverse="false" Severity="Error" Name="searchConfigurationData_Rule_0" OperandType="LITERAL" MinValue="1" MaxValue="1000" />
</tree>
at oracle.bali.xml.model.XmlModel._validateSubtree(XmlModel.java:3669)
at oracle.bali.xml.model.XmlModel._validateDocument(XmlModel.java:3577)
at oracle.bali.xml.model.XmlModel.__precommitTransaction(XmlModel.java:2825)
at oracle.bali.xml.model.XmlContext.precommitTransaction(XmlContext.java:1166)
at oracle.bali.xml.model.XmlContext.__precommitTransaction(XmlContext.java:1653)
at oracle.bali.xml.model.XmlContext.__commitTransaction(XmlContext.java:1684)
at oracle.bali.xml.model.XmlModel.__requestCommitTransaction(XmlModel.java:2898)
at oracle.bali.xml.model.XmlModel.commitTransaction(XmlModel.java:586)
at oracle.bali.xml.model.XmlModel.commitTransaction(XmlModel.java:556)
at oracle.bali.xml.model.task.StandardTransactionTask.__commitWrapperTransaction(StandardTransactionTask.java:469)
at oracle.bali.xml.model.task.StandardTransactionTask.runThrowingXCE(StandardTransactionTask.java:208)
at oracle.bali.xml.model.task.StandardTransactionTask.run(StandardTransactionTask.java:103)
at oracle.adfdtinternal.model.ide.validation.RuleEditAction.actionPerformed(RuleEditAction.java:35)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1220)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1261)
at java.awt.Component.processMouseEvent(Component.java:6041)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5806)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4413)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Maybe you are looking for
-
How to install iTunes in win 7 32 bit
After clicking on itunessetup.exe a error in ms dos window comes that is (inactive itunessetup.exe). Program too big to fit in memory . Please help to solve this problem. My pc is win 7( 32 bit) ram 1.00GB , 1.80ghz processor
-
Outlook 2013 Stripping Select Attachments
It was recently brought to my attention that select attachments are getting stripped from E-mails. .docx, .xslx, .pdf 's all come and go with no issue. However, emails that contain other attachments (in particular .sldprt,.slddrw (SolidWorks) and .7z
-
Can anyone pose the solution to this problem: I am composing a piece synced to picture that consists of 1musical note for 1 shot. there are 14 shots. i am tempo mapping everything and my 14 note melody is finished. the kicker is it "rewinds", then pl
-
Display application server time and date on GUI screen.
Hi experts, My client's requirenment is to display the application server time and date on the on GUI screen pls give the step by step procedure. Thanks in advance. Abhishek
-
Key Press to Play Video, in multi-screen project
I have a timeline with multiple videos in it, all loaded as external videos with playback controls as the audio is important (all are 55 seconds long and high quality audio is vital). First of all I want a specific key pressed to play one of the vide