在 SQL 报表生成器中创建行值总和

Create sum of row values in SQL report builder

我需要使用 SQL 报告生成器在 SCCM 中创建报告。目前,该报告在单独的行中显示来自每个客户端上每个用户的每个应用程序(这很好)。

但我还需要一个函数来显示每个应用程序的启动总数(由 ID 号标识)。

当前报告输出:

所以我需要的最终结果应该是:

ID        Manufacturer        Name         Filename          LaunchCountTotal
32        7-zip               7-zip        7z.exe            543

当前的报表生成器布局:

这是用于数据集的查询:

select diin_applications_table.manufacturer, diin_applications_table.id, diin_applications_table.name, diin_applications_table.version, diin_applications_table.filename, RecentlyUsedApps_DATA_prod.LaunchCount00, RecentlyUsedApps_DATA_prod.LastUsedTime00, RecentlyUsedApps_DATA_prod.LastUserName00, System_DATA_prod.Name0
from diin_applications_table
INNER JOIN RecentlyUsedApps_DATA_prod ON diin_applications_table.Filename=RecentlyUsedApps_DATA_prod.ExplorerFileName00
INNER JOIN System_DATA_prod ON
RecentlyUsedApps_DATA_prod.MachineID=System_DATA_prod.MachineID

您应该可以使用 CTE 实现此目的,如下所示:

with cte as (
select diin_applications_table.manufacturer, diin_applications_table.id, diin_applications_table.name, diin_applications_table.version, diin_applications_table.filename, RecentlyUsedApps_DATA_prod.LaunchCount00, RecentlyUsedApps_DATA_prod.LastUsedTime00, RecentlyUsedApps_DATA_prod.LastUserName00, System_DATA_prod.Name0
from diin_applications_table
INNER JOIN RecentlyUsedApps_DATA_prod ON diin_applications_table.Filename=RecentlyUsedApps_DATA_prod.ExplorerFileName00
INNER JOIN System_DATA_prod ON
RecentlyUsedApps_DATA_prod.MachineID=System_DATA_prod.MachineID
)

select
    ID
,   Manufacturer
,   [Name]
,   [FileName]
,   sum(LaunchCount) LaunchCountTotal
from    cte
group by    ID
,           Manufacturer
,           [Name]
,           [FileName]  

希望对您有所帮助。