如何找到日期范围之间的值Power BI?



我需要帮助来理解一件事。

我有一个表,使用缓慢变化的维度,开始和结束日期和指示器,如果它是活动的或不:

<表类> 类型 开始结束价值活动tbody><<tr>0001/01/019999/12/31101B2015/03/182016-06-2540B2016-06-259999/12/3171C2017-05-079999/12/3181

根据图表,假设日期范围为2016-04~2017-12,则

  1. 为上述日期范围生成month维度

  2. month维数与慢变维数slo_dim交叉连接,得到有效期内的value

  3. 根据步骤2的结果绘制折线图

with cte_month (year_month, n) as (
select cast('2016-04-01' as date), 1 
union all
select dateadd(month, 1, year_month), n+1
from cte_month
where n < 21)
select d.type,
m.year_month,
d.value
from cte_month m, slo_dim d
where m.year_month between d.start_dt and d.end_dt
order by d.type, m.year_month;

结果:

type|year_month|value|
----+----------+-----+
A   |2016-04-01|   10|
A   |2016-05-01|   10|
A   |2016-06-01|   10|
A   |2016-07-01|   10|
A   |2016-08-01|   10|
A   |2016-09-01|   10|
A   |2016-10-01|   10|
A   |2016-11-01|   10|
A   |2016-12-01|   10|
A   |2017-01-01|   10|
A   |2017-02-01|   10|
A   |2017-03-01|   10|
A   |2017-04-01|   10|
A   |2017-05-01|   10|
A   |2017-06-01|   10|
A   |2017-07-01|   10|
A   |2017-08-01|   10|
A   |2017-09-01|   10|
A   |2017-10-01|   10|
A   |2017-11-01|   10|
A   |2017-12-01|   10|
B   |2016-04-01|    4|
B   |2016-05-01|    4|
B   |2016-06-01|    4|
B   |2016-07-01|    7|
B   |2016-08-01|    7|
B   |2016-09-01|    7|
B   |2016-10-01|    7|
B   |2016-11-01|    7|
B   |2016-12-01|    7|
B   |2017-01-01|    7|
B   |2017-02-01|    7|
B   |2017-03-01|    7|
B   |2017-04-01|    7|
B   |2017-05-01|    7|
B   |2017-06-01|    7|
B   |2017-07-01|    7|
B   |2017-08-01|    7|
B   |2017-09-01|    7|
B   |2017-10-01|    7|
B   |2017-11-01|    7|
B   |2017-12-01|    7|
C   |2017-06-01|    8|
C   |2017-07-01|    8|
C   |2017-08-01|    8|
C   |2017-09-01|    8|
C   |2017-10-01|    8|
C   |2017-11-01|    8|
C   |2017-12-01|    8|

最新更新