Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
1 Balas
2328 Tampilan

I want to calculate the opportunity / lead conversion rate. I have the following code:  My problem is in the form of pivot field percent, which is not calculated as properly as on pgadmin. . someone help me, i'm very thanks

def _select(self):
select_str = super(OpportunityReport, self)._select()
select_str
+= """,
c.x_mien AS x_mien,
c.group_id AS group_id,
c.brand_id AS brand_id,
c.x_trangthai_lead AS x_trangthai_lead,
c.x_phanloai_lead AS x_phanloai_lead,
c.customer_care AS customer_care,
count(c.type) as lead,
sum(CASE WHEN c.type = 'opportunity' THEN 1 ELSE 0 END) AS opportunity,
(100 * sum(CASE WHEN c.type = 'opportunity' THEN 1 ELSE 0 END))/count(*) as percent
"""
return select_str

def _group_by(self):
group_by_str = super(OpportunityReport, self)._group_by()
group_by_str
+= """,
c.x_mien,
c.group_id,
c.brand_id,
c.x_trangthai_lead,
c.x_phanloai_lead,
c.customer_care
"""
return group_by_str

d
Avatar
Buang
Penulis

Chào,

Ibrahim

Tôi đã thử mã của bạn, vấn đề là các trường "phần trăm" vẫn nhận được giá trị trường "cơ hội".

Mã của tôi chạy ở pgadmin là "phần trăm" = (cơ hội / khách hàng tiềm năng). Nhưng đi đến trục vẫn đang lấy giá trị theo oppo.

Jawaban Terbai

Hi,
You need to provide us more info about the difference between the results of Pgadmin and the pivot view. 
In addition to that, which table your alias c refers to ? 

I would suggest this note to try at first : 

(sum(CASE WHEN c.type = 'opportunity' THEN 1 ELSE 0 END)::Float*100/count(distinct c.id)) as percent

Waiting to hear from you.
Thumps up if this helps.
Regards.

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
1
Jul 24
29
2
Agu 23
2085
1
Nov 22
5604
1
Okt 21
3286
0
Mar 20
1842