使用Microsoft Report Builder:当没有数据时,如何添加"No Data Available"消息?

Using Microsoft Report Builder: When there is no data, how can I add "No Data Available" message?

有人可以帮忙吗?

我正在使用 Microsoft Report Builder,并且想在 table.

中没有数据时添加一条消息,说明“没有可用数据”

每次我在属性中使用“NoRowsMessage”或在其中一行中使用 =CountRows() > 0 表达式时,似乎都不起作用。我不断得到一个空行或空的两行!并且消息根本不显示。它就像空数据一样通过,这是没有意义的。如果我确定有真实数据通过,它看起来很好。有人可以告诉我我做错了什么吗?

更新信息:

declare @MeetingSessionID varchar(500)
set @MeetingSessionID = '160165815460010151522-101523-4111510-14142220'

select distinct vl.originalChatSessionID
      ,vl.applicationUserID
      ,vl.pharmaID
      ,vl.UserName
      --,isnull(ph.FirstName,'') as 'First Name'
      --,isnull(ph.MiddleName,'') as 'Middle Name'
      --,isnull(ph.LastName,'') as 'Last Name'
      --,phm.CompanyName
      ,isnull(dr.Title,'') as 'Title'
      ,isnull(dr.FirstName,'') as 'First Name'
      ,isnull(dr.MiddleName, '') as 'Middle Name'
      ,isnull(dr.LastName, '') as 'Last Name'
      ,isnull(dr.Name, '') as 'Name'
      , null as 'Specialty'
from iclickphrDxvideolog vl
    --inner join iclickphrDxpharmacy ph
    --  on ph.pharmacyProfileID = vl.applicationUserID
    --inner join iclickphrDxpharmacy_Main phm
    --  on phm.pharmacyID = ph.PharmacyID
    inner join iclickphrDxdoctor dr
        on dr.DoctorID = vl.pharmaID


where vl.originalChatSessionID = @MeetingSessionID

例如,我只想在 table 中看到中间名,仅此而已……但是该列是空的……我得到了两个空行……我想让它说“无可用数据”。我知道 chatSessionID 是带回两行的东西......但我需要把它放在那里......如何从其他 tables.

中获取数据

我不确定我是否完全理解缺少实际 table 的情况,但您可以在数据集查询中模拟一些数据并使用它。

一个简单的版本可能看起来像(更改数据类型以适合您的真实数据)

DECLARE @iclickphrDxvideolog TABLE([Video Name] Varchar(100), [Video length] int, originalCharSessionID varchar(500), applicationUserID int, pharmaID int, UserName varchar(256))
INSERT INTO @iclickphrDxvideolog VALUES
('My first Video', 10, '160165815460010151522-101523-4111510-14142220', 1234, 1, 'Bob'),
('My second Video', 20, '160165815460010151522-101523-4111510-14142220', 3456, 1, 'Dave')

declare @MeetingSessionID varchar(500)
set @MeetingSessionID = '160165815460010151522-101523-4111510-14142220'

select distinct vl.originalChatSessionID
      ,vl.applicationUserID
      ,vl.pharmaID
      ,vl.UserName
      ,isnull(dr.Title,'') as 'Title'
      ,isnull(dr.FirstName,'') as 'First Name'
      ,isnull(dr.MiddleName, '') as 'Middle Name'
      ,isnull(dr.LastName, '') as 'Last Name'
      ,isnull(dr.Name, '') as 'Name'
      , null as 'Specialty'
from @iclickphrDxvideolog vl -- <= swapped out for table variable for testing
    inner join iclickphrDxdoctor dr
        on dr.DoctorID = vl.pharmaID
where vl.originalChatSessionID = @MeetingSessionID

如果您使用“160165815460010151522-101523-4111510-14142220”以外的会话 ID 进行测试,您应该返回 0 行。