如何在Power BI中使用SQL临时表



我正在构建一个使用一组SQL临时表作为源的Power BI报告。我想为用户提供从日期切片机中选择一个月的机会,并根据该选择,报告将显示有效的数据。

sql允许使用系统版本的表,该表允许查询

SELECT * from table FOR SYSTEM_TIME BETWEEN 'date1' and 'date2'

将回馈表中的所有有效值,好像查询是在这些日期之间运行的。

我找不到有关如何使用Power BI中的临时表工作的任何文件。

在Power BI中这样做的最好方法是什么?

我最近刚刚这样做。@rado是正确的;对于导入模式,您在电源BI表中的每个日期(或一个月(都有行。所有工作均在SQL中。

首先,我创建了一个inline(-able(表值函数,该函数接受system_time的dateTime2,并根据需要返回所需的结果集。

SELECT 
    header.*, 
    detail.*
FROM header FOR SYSTEM_TIME AS OF @utcTimeStamp AS header
LEFT JOIN detail FOR SYSTEM_TIME AS OF @utcTimeStamp AS detail ON detail.header_id = header.id ;

您必须调整@utctimestamp,以便为您的日期或月份的含义提供适当的瞬间。

--- Ajust to match your time period datatype
DECLARE @utcTimeStamp datetime2(3) = DATEADD(ms, -1, DATEADD(DAY, 1, CAST(@date AS datetime2(3)))) AT TIME ZONE 'Eastern Standard Time' AT TIME ZONE 'UTC';

然后,我创建了一个视图以在所需的日期上应用功能。

当我发现要查询视图的时间很长时间时,我创建了一个缓存表和SQL代理作业,以插入从最后一个日期到昨天的结果(在我们所有时区确保昨天结束的时候(。如果您只需要每月的结果,则可能不需要此步骤。

最新更新