我正在使用 Power Bi Desktop 创建一些报表和仪表板,并在 Power Bi 报表服务器上发布我的报表(因此我的版本中不存在数据警报功能)。
但我想创建一些数据警报,以便通知用户可能发生的一些异常情况(比如他们的产品库存超过 120 天)。
我尝试使用带有 HTML 格式正文的 SQL Server 电子邮件,但附件为 .txt 格式且文件大小有限。
Declare @HTMLbody nvarchar(max),
@NumChassis varchar(100),
@Marque varchar(100),
@Modele varchar(100),
@Finition varchar(100),
@SQL nvarchar(max)
set @SQL =''
Set @HTMLbody = '<!DOCTYPE html> <head><title>Aging stock notification</title></head><body>'
set @HTMLbody = @HTMLbody + '<center><h1> Notification des véhicules en stock</h1></center> '
set @HTMLbody = @HTMLbody + '<center><p> Vous pouvez visualisez la liste des chassis en stock depuis plus de 120 jours pièces jointes </p> </center>'
set @HTMLbody = @HTMLbody + ' <center> '
set @HTMLbody = @HTMLbody + @SQL + '</table> </center> <center><a href="http://Dashboard><b>Voir plus de détails sur le tableau de bord</b> </a></center> '
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Admin_smtp',
@body_format ='HTML',
@recipients = 'Em@il',
@body = @HTMLbody,
@query = 'select top(10) a.NUM_CHASSIS,a.MARQUE,a.MODELE,a.FINITION ,DATEDIFF(DAY, a.DATE_FIN_OF, GETDATE()) as Age from [DashboardPowerBi].[dbo].[BI_SVC_PROD_FIN_OF] as a
join [DashboardPowerBi].[dbo].[BI_SVC_INCADEA_STOCK_VN] as b
on a.NUM_CHASSIS = b.VIN
where b.CMD_Vente_Incadea = 0 and b.Fact_Av_Incadea =1 and DATEDIFF(DAY, a.DATE_FIN_OF, GETDATE()) > 120',
@subject = 'Aging Stock notification',
@attach_query_result_as_file=1 ;
我还尝试使用 ETL:Talend Open studio 创建工作,这对我来说效果很好。然而,我发现这是一个复杂的过程,而且我了解到 Talend 并不是发送电子邮件的最佳工具。
我需要您的建议和建议,以了解如何以有效的方式解决此问题