【发布时间】:2018-11-16 14:21:30
【问题描述】:
在 PowerBI 中,我有一个包含 3 列的简单表格:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("TYzBCcAwDAN38dugyk5bdxaT/deICzXN77hDyhSKCkHYwafwbJyaYiUc9I4XaH/1MgHeXQO+bcf7ux0XW3x5Lg==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [id = _t, start = _t, end = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"id", Int64.Type}, {"start", type date}, {"end", type date}})
in
#"Changed Type"
我可以从中创建以下视觉效果
我的挑战是根据上面选择的过滤器计算时间序列的总持续时间(以天为单位)。任何帮助将不胜感激。
我尝试了以下 DAX 公式,但它给了我如上所示的疯狂结果。
YTDDuration =
var start_Date=FIRSTDATE(ALLSELECTED('CALENDAR'[Date]))
var end_Date=LASTDATE(ALLSELECTED('CALENDAR'[Date]))
var current_Start=MAX(Table2[start])
var current_end=MAX(Table2[end])
var bigif=IF(current_end>start_Date&¤t_Start<end_Date,DATEDIFF(MAX(start_Date,current_Start),MIN(end_Date,current_end),DAY),0)
RETURN
CALCULATE(SUMX(Table2, bigif),FILTER(ALL(Table2), Table2[start] <= max(Table2[end])))
这里的关键是考虑日期的差距并合并重叠的日期。
【问题讨论】:
-
您期待什么结果?我不确定我是否理解您的条形图应该显示的内容。
-
理想情况下,按 end_date 的累计持续时间或按日期的总持续时间都可以。谢谢
-
你能解释一下你的意思吗?例如。您预计 5 月的价值是多少?为什么?
-
我已经添加了预期的输出,这里的关键是第一个日期和结束日期之间的天差,考虑到日期的差距。