2 years have passed, but the topic is still relevant.
Since Comrade Brahma did not attach any data, 

  I will post my code. 
Perhaps this code will help other users write their report by analogy. 
 
Select Top 1000000 tblassets.AssetID,
  tblassets.AssetName,
  tsysassettypes.AssetTypename,
  tsysassettypes.AssetTypeIcon10 As icon,
  tblassets.IPAddress,
  tsysassettypes.AssetType,
  tblUps.Manufacturer,
  tblUps.Model,
  tblUps.Name,
  Case
    When tblUps.BatteryStatus = 1 Then 'Unknown'
    When tblUps.BatteryStatus = 2 Then 'Normal'
    When tblUps.BatteryStatus = 3 Then 'Low'
    When tblUps.BatteryStatus = 4 Then 'Depleted'
  End As BatteryStatus,
  tblUps.EstimatedMinutesRemaining,
  tblUps.UpsSoftwareVersion,
  tblUps.AgentSoftwareVersion,
  tblUps.EstimatedChargeRemaining,
  tblassets.Lastseen,
  tblassets.Lasttried,
  Case
    When tblUps.BatteryStatus = 3 Then '#f7f0ca'
    When tblUps.BatteryStatus = 4 And tblUps.BatteryStatus = 1 Then '#ffcccc'
    Else '#ccffcc'
  End As backgroundcolor,
  SN.Data As sn,
  ca.Data As Capacity,
  rr.Data As RuntimeRemaining,
  ol.Data As OutputLoad,
  lr.data as LastReplaced
From tblassets
  Inner Join tblassetcustom On tblassets.AssetID = tblassetcustom.AssetID
  Inner Join tsysassettypes On tsysassettypes.AssetType = tblassets.Assettype
  Inner Join lansweeperdb.dbo.tblUps On tblassets.AssetID = tblUps.AssetId
  Left Join (Select tblassets.AssetID,
      tbloiddata.Label,
      tbloiddata.Data
    From tblassets
      Inner Join tbloiddata On tblassets.AssetID = tbloiddata.AssetID
    Where tbloiddata.Label Like 'sn') As SN On tblassets.AssetID = SN.AssetID
  Left Join (Select tblassets.AssetID,
      tbloiddata.Label,
      tbloiddata.Data
    From tblassets
      Inner Join tbloiddata On tblassets.AssetID = tbloiddata.AssetID
    Where tbloiddata.Label Like 'Capacity') As ca On tblassets.AssetID =
      ca.AssetID
  Left Join (Select tblassets.AssetID,
      tbloiddata.Label,
      tbloiddata.Data
    From tblassets
      Inner Join tbloiddata On tblassets.AssetID = tbloiddata.AssetID
    Where tbloiddata.Label Like 'RuntimeRemaining') As rr On tblassets.AssetID =
      rr.AssetID
  Left Join (Select tblassets.AssetID,
      tbloiddata.Label,
      tbloiddata.Data
    From tblassets
      Inner Join tbloiddata On tblassets.AssetID = tbloiddata.AssetID
    Where tbloiddata.Label Like 'OutputLoad') As ol On tblassets.AssetID =
      ol.AssetID
  Left Join (Select tblassets.AssetID,
      tbloiddata.Label,
      tbloiddata.Data
    From tblassets
      Inner Join tbloiddata On tblassets.AssetID = tbloiddata.AssetID
    Where tbloiddata.Label Like 'LastReplaced') As lr On tblassets.AssetID =
      lr.AssetID
Where tblassetcustom.State = 1