如何使用Power Bi报表服务器时(内部部署)发送数据警报

时间:2019-04-17 09:24:25

标签: sql-server powerbi power-bi-report-server

我正在使用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工作室,对我来说很好。但是,我发现这是一个复杂的过程,而且我读到Talend并不是发送电子邮件的最佳工具。 enter image description here

我需要您有关如何有效解决此问题的建议

0 个答案:

没有答案