首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果数据集不包含该值,如何在SSRS中的文本字段中获取数据?

如果数据集不包含该值,如何在SSRS中的文本字段中获取数据?
EN

Stack Overflow用户
提问于 2019-03-28 02:27:09
回答 1查看 79关注 0票数 0

我在SSRS中有四个数据集。他们在下面-

PONum PODetail- Company,PONum,POLine PORel- Company,JobNum,POLine,PONum,ProjectID JobHead- Company,JobCOde,JobNum,PersonID,ProjectID

在POHeader中有一个文本字段(Project ),我想在其中显示person ID (项目领导名称)。但是,POHeader不包含任何PersonID字段。我认为这样做的一种方法是关联POHeader和PORel表,它们将匹配PONum并返回JobNum,返回的JobNUm将与JobHead.JobNum匹配。

如果它们匹配,然后返回PersonID,它将显示在POHeader中的文本字段(Project )中。

然而,我很少有SQL方面的经验。如果有人能在这方面帮我就太好了。

在这里,查找函数可以是一个解决方案,但是将一个返回值与一个不同数据的现有值进行比较对我来说似乎很困难。

更新SQL代码-

代码语言:javascript
运行
复制
="SELECT
    [PlannerID].[JobHead_PersonID] as [JobHead_PersonID]
from  (select 
    [POHeader].[PONum] as [POHeader_PONum],
     [JobHead].[PersonID] as [JobHead_PersonID],
    [JobHead].[JobNum] as [JobHead_JobNum]
from Erp.POHeader as POHeader
 inner join Erp.PODetail as PODetail on 
    POHeader.Company = PODetail.Company
    and POHeader.PONum = PODetail.PONUM
inner join Erp.PORel as PORel on 
    PODetail.Company = PORel.Company
    and PODetail.PONUM = PORel.PONum
    and PODetail.POLine = PORel.POLine
inner join Erp.JobHead as JobHead on 
    PORel.Company = JobHead.Company
    and PORel.JobNum = JobHead.JobNum)  as PlannerID
  right outer join Erp.POHeader as POHeader1 on 
    POHeader1.PONum = PlannerID.POHeader_PONum 
    POHeader.Company = PODetail.Company
     and POHeader.PONum = PODetail.PONUM
inner join Erp.PORel as PORel on 
   PODetail.Company = PORel.Company
    and PODetail.PONUM = PORel.PONum
   and PODetail.POLine = PORel.POLine
 inner join Erp.JobHead as JobHead on 
    PORel.Company = JobHead.Company
    and PORel.JobNum = JobHead.JobNum)  as PlannerID
right outer join Erp.POHeader as POHeader1 on 
    POHeader1.PONum = PlannerID.POHeader_PONum"

我编写的返回PersonID的SQL代码,但我需要知道两件事-

  1. 把这个子查询放在哪里?
  2. 如何使用表达式从Project文本字段中的子查询返回值?

如果我能得到一些建议,我会很感激的。谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-03-28 02:41:14

SSRS使用数据集从数据库获取数据,数据集中的每个字段都可以显示在报表上。若要将字段添加到dataset,必须由基础数据集查询返回该字段。查看数据集属性并查看查询。如果它的形式是“从表中选择a,b,c”,将您想要的字段添加到列列表(a、b、c等)。如果是存储过程,请找到可以编辑该过程的人,以包括您缺少的字段。完成此操作后,刷新数据集的字段列表。您的新字段现在应该可以在报告中使用。当然,如果您已经破坏了数据集的sql,则需要找到了解基础数据库的人来帮助您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55389301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档