背景:通話時間、通話時間(休日通話または非休日通話、ビジネス通話または非ビジネス通話)、加入者の年齢層に関して顧客をセグメント化するために、通話詳細レコード(CDR)データの分析を行っています。と性別。データは2つのテーブル名からのものcdr (include card_number, service_key, calling, called, start_time, clear_time, duration column)
であり、subscriber_detail (include subscriber_name, subscriber_address, DOB, gender column)
以下に示すようにOLAPを設計しています。
Call_dateには、年、月、日を含む通話日が含まれます。Call_timeは、秒単位で発生する呼び出しの時間です。
質問: -call_timeを秒単位で取得すると、1日あたり86400列になります(次元の呪いの可能性があります)。したがって、30秒の時間パルスを取得することで次元を減らすと考えます(テレコムはパルスの基本にお金を請求し、30コンテキストのパルス持続時間です)。最初の質問は:-時間をパルス持続時間に置き換える最良の方法ですか?そして2番目は:-1人の加入者がパルスの範囲で2回以上の呼び出しを行う場合、問題が発生する可能性があります。つまり、最初の呼び出しは21:01:00に開始し、21:01:05に終了し、2番目の呼び出しは21:01:15に開始します。 21:01:20に終了します。これらのタイプの問題を解決する方法。