notifications - 来自 PBI 报表服务器的刷新通知
问题描述
我正在尝试从 PBI 报表服务器设置刷新通知(失败的报表)。
作为 PBI 报表服务器的管理员,我希望收到报表服务器中所有未能刷新的报表的通知。
我看到有一个“发送刷新通知”选项可以从 PowerBI 桌面(个人工作区)进行配置,但我没有看到 PBI 报表服务器的任何选项。
解决方案
您可以在 sql 代理作业中使用此 sql 代码:
USE PBIRS;
DECLARE @MAIL_BODY VARCHAR(8000);
/* HEADER */
SET @MAIL_BODY =
'<table border="1" align="center" cellpadding="2" cellspacing="0" style="color:black;font-family:consolas;text-align:center;">'
+ '<tr>
<th>Dashboard Name</th>
<th>Refresh Status</th>
</tr>';
/* ROWS */
SELECT @MAIL_BODY = @MAIL_BODY + '<tr>' + '<td>' + [c].[Name] + '</td>' +
'<td>' + [LastStatus] + '</td>' + '</tr>'
FROM [PBIRS].[dbo].[Subscriptions] [s]
LEFT JOIN [dbo].[Catalog] [c] ON [s].[Report_OID] = [c].[ItemID];
SELECT @MAIL_BODY = @MAIL_BODY + '</table>';
IF
(
SELECT COUNT(*)
FROM [PBIRS].[dbo].[Subscriptions] [s]
LEFT JOIN [dbo].[Catalog] [c] ON [s].[Report_OID] = [c].
[ItemID]
WHERE [LastStatus] NOT IN('Completed Data Refresh')
) != 0
BEGIN
EXEC [msdb].[dbo].[sp_send_dbmail]
@profile_name = 'profile_name',
@recipients = 'your_email_address',
@subject =
'[The Refresh failed.] These dashboards Faild to Refresh successfully',
@body = @MAIL_BODY,
@body_format = 'HTML';
END;
将 profile_name 替换为您实例中的电子邮件配置文件,并将 your_email_address 替换为您想要的任何电子邮件。
这段代码有什么作用?它检查哪个仪表板未能成功刷新并通过电子邮件发送列表。输出将是这样的:
推荐阅读
- python - 使用 pandas,找到两个 DataFrame 之间的相交区域?
- docker - 远程 AWS 上的 Zalenium 集线器 IP
- android - Android 上的“su”既不报错也不生效。如何在 root 设备上成功运行 su 命令?
- javascript - 如何优化重新训练的 ssd_mobilenet_v2_coco 以进行 tensorflowjs 推理?
- php - 我尝试使用 PHPMailer 发送电子邮件,但出现错误:
- javascript - 如何编写可重用和模块化的 Redux 选择器?
- mysql - 如何通过聚合和标记来编写a?
- python - 如何在 Selenium for Python 上由 .click() 打开的新选项卡上使用 driver.current_url
- php - 无法在 html 表单中获取 id 值
- odata - 更正 UI5 中 Edm.Int16 数据类型的 filterOperator