Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Modelling problem faced by rookie on Telecoms system

Status
Not open for further replies.

freeka

Programmer
Jul 30, 2007
5
GB
Hi there

I have been handed a DW project and I am struggling to implement the theories into practice. Here is the problem:

Background
==========

I work for a telecoms company that tracks the users of their mobile phones. Each account has multiple mobile phone numbers (MPN) and each MPN has attributes such as GPRS tariff, voice tariff, etc.

Each month we bill each customer on their respective MPNs and there is a percentage of customers who do not use their phone (keep in a glove box for emergencies only for example). We need to report on these Non-Usage MPNs.

REQUIREMENTS
============

1. I need to be able to report a count of all mobile numbers based on sales location, type of voice tariff, mobile network etc.

2. I also need to be able to report on all mobile numbers that did not have a bill one particular month (it is billed monthly) and all the dimension attributes from the first one apply along with another one called 'reason' and this would be logged against the MPN such as 'Pay as You Go mobile'.

3. I also need to be able to report on how many customers have MPN that have either i) some MPNs that are not being used and ii) that have ALL MPNs that are not being used.

And last but not least (this is the toughie):

4. I need to be able to report on MPNs that connected on date X and that did were not being used XX days later.



I am thinking that I will be needing 4 fact tables with shared attribute(dimension) tables. I also think that the list I get of all MPNs will be a (very large) dimension table.

I also think that I will need a snapshot fact table that lists Non-Usage numbers (do i need the aggregate or a list of all the individual MPNs on a given snapshot date. i am thinking the latter because of number 4)



Please can someone shed a light on this problem as the pressure is on to get something physical made to show-off to the business and I am far from a solution (eek!)


Many thanks in advance


Adi

Data Warehousing Guinea Pig
 
Hi Adi,

let's see if i can get you on your way.

As to the first requirement. This looks like a report on de MPN dimension. You don't need a fact table to answer this one.

For Requirement 2 I would use a factless fact table (or possibly with facts as well). Dimensions: MPN and Date (perhaps some more) and the fact table stores whether or not the MPN was billed in that month. You have to fill the fact table with rows for each MPN for each month, so this might be a solution if most of the MPN get billed every month.

For requirements 3 and 4 i would use a similar construction as above, only this time the fact table stores whether or not a MPN connected on any given day.

Problem here is that your MPN dimension will probably be quite big, so this fact table would grow pretty big as well.
For this fact table you should keep the number of dimensions as small as possible.

Hope this helps a bit.
 
Hans

Many thanks, it helps a lot. Truth is that no-one here knows exactly what a project like this entails.

To make things worse, I have to trawl through Oracle 11i Apps schema in order to extract the data for the warehouse and then to use Oracle Warehouse Builder 10g in order to perform the ETL. And all this demonstratable in 2 weeks !

:)

Thanks again for your help.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top