在 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]
希望对您有所帮助。
我需要使用 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]
希望对您有所帮助。