需要帮助以通过SQL查询构建销售渠道报告

问题描述

我创建了一个销售视图。在此视图中,潜在客户,机会和报价之间存在关系。我们看不到每个潜在客户都转向机会和报价。

LeadID产品ID报价ID产品销售员部门日期销售价格

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)]。 如果我想由“机器销售”部门进行过滤,则漏斗将类似于: [潜在客户总数(3)]-> [产品总数(2)]-> [报价总数(1)]。 我需要能够按日期,销售人员,产品和部门来过滤渠道。请帮助我建立此销售渠道查询。 然后,在实现查询后,我将在Microsoft Powerbi中可视化数据,该查询将呈漏斗状。

解决方法

这是一个非常简单的条件聚合,其分组依据为:

select date,salesperson,etc,sum(case when LeadID <> '' then 1 end) as NumberOfLeads,etc
from YoutTable
group by date,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吗?

我认为您可能过度设计了此问题,并在数据库上创建了另一个必须记住/管理的表/视图。

enter image description here enter image description here

Leads = COUNT('YourTableNameHere'[LeadID])
Offers = COUNT('YourTableNameHere'[OfferID])
Quotes = COUNT('YourTableNameHere'[QuoteID])

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...