Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
2366 Lượt xem

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
Ảnh đại diện
Huỷ bỏ
Tác giả

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.

Câu trả lời hay nhất

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.

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 7 24
29
2
thg 8 23
2123
1
thg 11 22
5685
1
thg 10 21
3315
0
thg 3 20
1858