1

我正在使用 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 并不是发送电子邮件的最佳工具。 在此处输入图像描述

我需要您的建议和建议,以了解如何以有效的方式解决此问题

4

0 回答 0