我们在工作中处理大量数据,并且我想尝试找到一种方法来限制从SSMS复制到客户端的Excel工作表。
我希望能够做什么,尽可能使用SSIS或任何其他可能的方式(可能是电源查询?),是将通过SQL查询提取的数据复制到Excel工作簿表。
例如,我想按状态计算成员数量,我将查询运行并将结果复制到名为" State"在Excel工作簿中。
示例代码:
SELECT C.State, COUNT(*) as Count
FROM [dbo].Input I
Join Cassresults C on C.ID = I.ID
group by C.State
order by Count desc
对于客户端,Excel工作簿永远不会更改。唯一可能改变的是查询,但这些查询很容易更新。
有没有办法真正做到这一点,还是我坚持这么想?我希望我解释得很好。
答案 0 :(得分:3)
SSAS,SSIS,PowerQuery,PowerBI,Excel PowerPivot,SSRS和Excel数据查询都适用于此类用途。我绝对不会推荐VBA,因为您的用户会不断获得安全警告,而且它比需要的更复杂。
对于Excel可能是一个很好的起始位置,请转到数据选项卡并单击“从其他来源”并查看不同的源类型。通过Micrsoft Query,您可以从SSMS编写查询或副本。
唯一的问题是数据源会发生变化吗?如果是这样,您创建和分发的每个工作簿都将过时并需要更改。 SSRS是一个很好的选择,允许用户抓取他们需要的报告(并导出到Excel)。
在进行SSAS时,它也很棒但是从Excel中的PowerPivot开始,再次数据连接移动Sharepoint数据连接库是一种打击它的方法。
这就像一个BI和报告设计问题,你会得到很多答案。