Sql server 在power bi中使用SQL server时态表获取月度数据

Sql server 在power bi中使用SQL server时态表获取月度数据,sql-server,powerbi,sql-server-2016,sql-server-2017,powerbi-desktop,Sql Server,Powerbi,Sql Server 2016,Sql Server 2017,Powerbi Desktop,目标是准备一份power BI报告,根据用户选择的月份和年份提供历史数据 为了获得所有可用月份的数据,我尝试做如下操作 SELECT * FROM Employee FOR SYSTEM_TIME AS OF <<End of month>> 我希望对历史记录表中的每个可用月份运行此查询,然后将它们合并到一个表中 这样,我就可以让用户在power bi中选择任意月份和年份,并根据选择筛选此联合表 唯一的问题是,如何从时态表的历史表中

目标是准备一份power BI报告,根据用户选择的月份和年份提供历史数据

为了获得所有可用月份的数据,我尝试做如下操作

SELECT * FROM Employee   
    FOR SYSTEM_TIME    
        AS OF <<End of month>>
我希望对历史记录表中的每个可用月份运行此查询,然后将它们合并到一个表中

这样,我就可以让用户在power bi中选择任意月份和年份,并根据选择筛选此联合表


唯一的问题是,如何从时态表的历史表中检索所有可用的月份,以便对它们进行迭代并对每个月份运行上述查询

一种解决方案是创建一个视图,甚至运行一个select语句,对所有日期进行硬编码并将其合并

SELECT * FROM Employee 
FOR SYSTEM_TIME 
AS OF '2010-01-01'
UNION ALL
SELECT * FROM Employee 
FOR SYSTEM_TIME 
AS OF '2010-02-01'
UNION ALL
SELECT * FROM Employee 
FOR SYSTEM_TIME 
AS OF '2010-03-01'
这就是“暴力”方法


在Power BI的导入语言M中可能会做一些更聪明的事情,但我找不到一个好的例子

谢谢您的回复。我想我找到办法了。我将编写一个过程,从时态表中获取不同的月-年,然后在while循环或类似的东西中迭代它们,并在单个表中获取所有内容。我会张贴,如果它的工作,一旦我尝试它。