需要帮助通过 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

如果您的 LeadIDOfferingIDQuotationID 列具有 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])