0

これは、私が Informatica で行うことになっていたタスクです。可能な解決策について簡単に説明したいと思います。クエリは特に必要ありません。SQL/Oracle の手順だけが非常に役立つ場合があります。

問題文:

NW Telecommunications は、インドにおけるセルラー通信のサービス プロバイダです。彼らはインドのすべての州で事業を展開しています。事業運営の一環として、顧客維持戦略を改善するために、サービスのキャンセル理由に関する詳細を収集します。彼らは現在、顧客がサービスを中止する主な理由を知りたいと考えています。

以下は、ソーステーブルの構造です

NWT_接続_詳細

Phone_No 
SIM (primary key)
Connection_Start_Date
Rate_Plan_Id
Connection_Status
Connection_Closure_Date
Can_Reason_Id
Cust_Id (foreign key)
Home_Location

NWT_Cancellation_Reason

Can_Reason_Id (primary key)
Can_Text

キャンセル理由表のデータ:

 Can_Reason_Id       Can_Text
 NW              Network Issues
 MNP             Porting to a competitor
 RP              Rate Plan Issue
 RL              Relocation
 CS              Unsatisfactory customer service

結果テーブルは、発生したキャンセルの要約を保持する要約テーブルです。対象テーブルの構造は以下の通りです。

Cancellations_Summary Can_Reason No. of Cancellations Duration_of_Service Zone

注: Duration_of_Service は、< 1 か月、1 ~ 3 か月、3 ~ 6 か月、6 ~ 12 か月、および > 12 か月のようなバンドです。

サンプル ターゲット テーブル データ:

NW      18         1 to 3      South
NW      5          1 to 3      South
CS      25         3 to 6      North
4

1 に答える 1

1

これは、必要なことを行う基本的なクエリです。

select cr.can_text, count(*)
from nwt_connection_details cd join
     nwt_cancellation_reason cr
     on cd.can_reason_id = cr.can_reason_id
group by cr.can_text
order by count(*) desc     

ただし、これは特定のことについてコメントする機会を与えるため、回答しています。まず、Informatica でこのようなクエリを実行しようと考える理由がありません。これは、データベースが設計されているクエリのタイプです。オラクルは最良のアプローチです。

第二に、これはおそらくあなたが望むすべてではありません。日付、顧客の種類、在職期間を考慮する必要があります。通常、これらの種類の要求を解決するための OLAP システムがあります (データが大きすぎない場合は、Excel のピボット テーブルなど)。このような OLAP システムは、Informatica または Oracle からのクエリを使用してロードされる場合があります。

于 2013-01-28T14:09:48.333 に答える