需要帮助通过 sql 查询构建销售漏斗报告
Need help to build a sales funnel report by sql query
我已经为sales.In这个视图创建了一个视图,有lead、opportunity和quotation之间的关系。我们可以看到,并不是每条线索都会变成机会和报价。
LeadID OfferingID QuotationID 产品销售人员部门日期销售价格
L1 O1 Q1 X001 Mr.X Machine Sales 11-01-2011 100
L2 O2 Q2 X002 Mr.Y Marine Sales 10-02-2011 200
L3 O3 X003 Mr.Z Engine Sales 11-03-2011 300
L4 O4 Q3 X004 Mr.P Parts Sales 13-04-2011 50
L5 X001 Mr.X Machine Sales 20-05-2012 100
L6 O5 X001 Mr.X Machine Sales 30-06-2012 100
我对所有部门的销售漏斗的最终输出将是 [潜在客户总数 (6)]->[报价总数 (5)]->[报价总数 (3)]。
如果我想按 'Machine Sales' 部门过滤它,漏斗将是这样的:
[线索总数(3)]->[报价总数(2)]->[报价总数(1)]..
我需要能够按日期、销售人员、产品过滤渠道,department.please 帮助我构建此销售渠道查询。
然后我将在执行查询后将数据可视化在 Microsoft powerbi 中,该查询将呈漏斗状。
这是非常简单的条件聚合,分组依据:
select date
,salesperson
,etc
,sum(case when LeadID <> '' then 1 end) as NumberOfLeads
,etc
from YoutTable
group by date
,salesperson
,etc
如果您的 LeadID
、OfferingID
和 QuotationID
列具有 null
值但没有数据,您甚至不需要聚合中的条件并且可以而只是使用 count
作为 null
值被忽略:
select ...
,count(LeadID) as NumberOfLeads
,...
etc
我想你想要:
select department, count(leadid) as num_leads, count(offeringid) as numoffers,
count(distinct quotationid) as numquotations
from t
group by department;
我认为前两列不需要 count(distinct)
,但您的数据没有重复示例,因此不清楚。
是否有什么阻止您将此数据直接输入 Power BI?
我认为您可能 over-engineering 这个问题,并在您的数据库上创建另一个 table/view,您必须 remember/manage。
Leads = COUNT('YourTableNameHere'[LeadID])
Offers = COUNT('YourTableNameHere'[OfferID])
Quotes = COUNT('YourTableNameHere'[QuoteID])
我已经为sales.In这个视图创建了一个视图,有lead、opportunity和quotation之间的关系。我们可以看到,并不是每条线索都会变成机会和报价。
LeadID OfferingID QuotationID 产品销售人员部门日期销售价格
L1 O1 Q1 X001 Mr.X Machine Sales 11-01-2011 100
L2 O2 Q2 X002 Mr.Y Marine Sales 10-02-2011 200
L3 O3 X003 Mr.Z Engine Sales 11-03-2011 300
L4 O4 Q3 X004 Mr.P Parts Sales 13-04-2011 50
L5 X001 Mr.X Machine Sales 20-05-2012 100
L6 O5 X001 Mr.X Machine Sales 30-06-2012 100
我对所有部门的销售漏斗的最终输出将是 [潜在客户总数 (6)]->[报价总数 (5)]->[报价总数 (3)]。 如果我想按 'Machine Sales' 部门过滤它,漏斗将是这样的: [线索总数(3)]->[报价总数(2)]->[报价总数(1)].. 我需要能够按日期、销售人员、产品过滤渠道,department.please 帮助我构建此销售渠道查询。 然后我将在执行查询后将数据可视化在 Microsoft powerbi 中,该查询将呈漏斗状。
这是非常简单的条件聚合,分组依据:
select date
,salesperson
,etc
,sum(case when LeadID <> '' then 1 end) as NumberOfLeads
,etc
from YoutTable
group by date
,salesperson
,etc
如果您的 LeadID
、OfferingID
和 QuotationID
列具有 null
值但没有数据,您甚至不需要聚合中的条件并且可以而只是使用 count
作为 null
值被忽略:
select ...
,count(LeadID) as NumberOfLeads
,...
etc
我想你想要:
select department, count(leadid) as num_leads, count(offeringid) as numoffers,
count(distinct quotationid) as numquotations
from t
group by department;
我认为前两列不需要 count(distinct)
,但您的数据没有重复示例,因此不清楚。
是否有什么阻止您将此数据直接输入 Power BI?
我认为您可能 over-engineering 这个问题,并在您的数据库上创建另一个 table/view,您必须 remember/manage。
Leads = COUNT('YourTableNameHere'[LeadID])
Offers = COUNT('YourTableNameHere'[OfferID])
Quotes = COUNT('YourTableNameHere'[QuoteID])