将多个数据库快照合并到SQL Server中的一个数据库中?

时间:2017-04-07 11:21:05

标签: sql-server powerbi snapshot

我试图弄清楚如何将数据库快照合并到一个数据库中。我每个月都会创建一个数据库快照,因此数据将是静态的并代表特定月份。我希望数据是静态的原因是因为Power BI报告只需要显示拍摄快照时的数据。

因为我无法将每月数据库快照合并到一个数据库中,所以我必须复制Power BI报告并更改我必须查询以提取数据集的数据库名称(特定数据库快照)。

是否可以将多个数据库快照(例如snapshot_jan17和snapshot_feb17)组合到一个数据库中,以便我可以从单个Power BI报告访问快照数据,并为表示特定快照月的每个表添加标识符(用于过滤)目的)?

enter image description here

2 个答案:

答案 0 :(得分:2)

可能与您的问题有关。关于

  

我必须复制Power BI报告并更改数据库名称

简而言之,您可以为服务器/数据库名称提供“空查询”变量,在查询中使用这些变量,然后在一个位置更改数据源,而不是在报表的每个查询中更改。

防止数据源字符串重复

默认情况下,当数据导入PowerBI桌面时,每个表或查询都会单独存储数据源详细信息,即使它们使用相同的数据源。

例如,这使得整个PowerBI报告的源数据库更改变得繁琐 - 这需要单独更改每个查询源参数。

有一种简化方法,描述为here

  1. 像往常一样导入数据。示例:数据源类型 - SQL server, 服务器名称 - localhost, 数据库 - test1, 表格 - table1table2

  2. 在查询编辑器中,添加两个空白查询:“获取数据” - > “空白查询”, 值serverName的{​​{1}}, 值= "localhost"的{​​{1}}。 enter image description here

  3. 对于左侧“查询”窗格中的每个表,在右侧的“查询设置”中选择“源”,然后使用在步骤2中创建的参数替换服务器和数据库名称。 enter image description here enter image description here enter image description here

  4. 现在,当您需要更新连接字符串时,请更改databaseName= "test1"并刷新数据。

答案 1 :(得分:1)

没有开箱即用的功能。我怀疑是否有任何第三方工具,因为快照dbs管理其存储的方式在文件系统中。

您可以使用SSIS推出自己的解决方案。权衡是增加文件存储。

Power BI喜欢dimensionally modelled star schema's。如果您实现了自定义报告数据库,则应在设计时考虑这一点。