各时期之间的事件发展

问题描述 投票:0回答:1

我每天都会生成事件 - 打开并在同一天或当月或下个月等解决或删除到无限期 - 通过以下:

输入

我需要显示特定月份的事件状态,其中有多少事件仍处于打开状态以及其中有多少事件已解决 - 通过下面

输出

我需要它在 Power BI 中执行。

我创建了专栏:

天数根据方法:https://amitchandak.medium.com/power-query-get-all-dates- Between-the-start-and-end-date-9ad6a84cf5f2

桥接期检查当月的事件 - 打开/关闭由公式表示:

IF ( F_IncidentLast3Months[Created Date] = F_IncidentLast3Months[Days Between], "Opened", IF ( F_IncidentLast3Months[Resolved Date] = F_IncidentLast3Months[Days Between], "Closed", "" ) )

同一时期,检查当天关闭的事件与打开的事件,用公式表示:

IF ( F_IncidentLast3Months[Created Date] = F_IncidentLast3Months[Resolved Date], "Closed", "" )

我无法处理事件在 2023 年 1 月 11 日创建并于 2023 年 3 月 15 日解决的情况,因此我需要显示在 1 月 23 日和 2 月 23 日打开的事件。所以一般来说我需要显示已公开但在下一阶段仍未解决的事件。

您能给我一些建议吗?我认为可能有一些复杂的措施可以解决这个问题,但我在 PBI 方面没有足够的背景。

powerbi dax powerquery powerbi-desktop m
1个回答
0
投票

您的输出对您的数据没有任何意义,但假设这是一个错误,您可以使用此代码

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Created Date", type date}, {"Resolved Date", type date}}),
x=List.Difference(List.Distinct(#"Changed Type"[Created Date] & #"Changed Type"[Resolved Date]),{#date(2099,12,31)}),
Months =List.Distinct(List.Transform({Number.From(List.Min(x))..Number.From(List.Max(x))}, each Date.StartOfMonth(Date.From(_)))),
DateTable = Table.FromList(Months, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Changed Type1" = Table.TransformColumnTypes(DateTable,{{"Column1", type date}}), 
#"Add Create"=Table.AddColumn(#"Changed Type1","Open", (x)=> Table.RowCount(Table.SelectRows(#"Changed Type", each [Created Date]<=Date.EndOfMonth(x[Column1]) and [Created Date]>=Date.StartOfMonth(x[Column1])) )),
#"Add Close"=Table.AddColumn(#"Add Create","Resolved", (x)=>Table.RowCount(Table.SelectRows(#"Changed Type", each [Resolved Date]<=Date.EndOfMonth(x[Column1]) and [Resolved Date]>=Date.StartOfMonth(x[Column1]))))
in #"Add Close"

© www.soinside.com 2019 - 2024. All rights reserved.