我正在使用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并不是发送电子邮件的最佳工具。
我需要您有关如何有效解决此问题的建议