如何从数据挖掘模型取数并通过SSRS报表展示预测图表?
SSRS展示SSAS预测结果无数据的解决方法
问题概述
已完成SSAS多维项目部署,在SSAS数据挖掘预测视图中执行DMX查询 SELECT Predict([Tmp].[sales],5) From [Tmp] 可正常得到结果,但将该查询导入SSRS数据集后,预览报表无结果,需解决SSRS展示预测图表的问题。
排查与解决步骤
1. 验证SSRS数据源连接权限
- 确认SSRS数据源的连接账户,是否具备访问SSAS数据挖掘模型的读取权限
- 在SSRS数据源设置中执行“测试连接”,确保连接状态正常;若使用Windows身份验证,需确认运行SSRS服务的账户或报表预览时的账户有权限访问目标SSAS实例
2. 调整DMX查询格式
SSRS对DMX查询的字段映射可能存在识别问题,修改查询为带别名的格式,让字段名更明确:
SELECT Predict([Tmp].[sales],5) AS PredictedSales From [Tmp]
修改后刷新数据集,确认字段列表显示为PredictedSales而非默认的Expression,再重新关联Tablix或图表控件
3. 检查数据集参数与上下文设置
- 若数据挖掘模型需要特定输入参数或上下文筛选,需在SSRS数据集中补充对应参数配置,确保查询执行环境与SSAS预测视图一致
- 查看SSAS预测视图中的查询是否包含隐藏筛选条件(如
WHERE子句),将这些条件同步到SSRS的DMX查询中
4. 测试查询执行结果
在SSRS数据集的“查询设计器”中直接执行DMX查询:
- 打开数据集查询设计界面,点击“运行”按钮,若无结果,说明查询在SSRS环境中执行存在问题,需排查SSAS实例的远程访问配置
- 若能返回结果,检查Tablix控件的字段绑定是否正确,确认数据区域已关联正确的数据集
5. 配置预测图表的数据源
若要展示预测趋势图表,建议使用带时间维度的DMX查询,例如返回预测的时间点和对应销售额:
SELECT PredictTimeSeries([Tmp].[sales],5) AS TimeSeriesSales From [Tmp]
将查询结果拆分为时间字段和预测销售额字段,在SSRS中插入折线图/柱状图,分别绑定X轴(时间)和Y轴(预测销售额)
内容的提问来源于stack exchange,提问作者user11665472
相关产品推荐
相关产品推荐

