最近我在比较模型的准确性。 这个模型有很多版本,V1,V2,V3..... 每个版本都包含不同月份的值,例如: V1(一月至三月) V2(二月至四月) V3(三月至五月) .. .. ..
数据与日期表相关联。
另外,它是一个日常模型,模型可能包含0值。为了显示为 0 值,我使用 isblank
then 0 函数来显示 0 值,如下所示:
但是,正如我上面提到的,V1只包含1月-3月的数据,因此,当我尝试使用切片器过滤其他版本(例如4月-6月)时,由于函数强制显示0值,所以有图中的水平线如下所示:
这使得折线图很难阅读。因此,我想在单击切片器时自动将日期范围过滤到合适的日期范围(例如,当我选择 V1 时,它只显示一月至三月)。
有什么办法可以做到这一点?非常感谢!
答案 0 :(得分:0)
如果我猜你的表名是 your_data_table_name 并且你有下面这些列-
Date
version
value
...and other columns
现在,您可以在 Power Query 编辑器中使用下面的M Qquery从源表your_data_table_name创建一个新表。
注意用下面代码中的表名更改表名。
let
Source = #"your_data_table_name",
#"Removed Other Columns" = Table.SelectColumns(Source,{"Date", "Version"}),
#"Grouped Rows" = Table.Group(#"Removed Other Columns", {"Version"}, {{"min_date", each List.Min([Date]), type nullable date}, {"max_date", each List.Max([Date]), type nullable date}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each Duration.Days([max_date] - [min_date]) + 1),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each List.Numbers(1, [Custom])),
#"Expanded Custom.1" = Table.ExpandListColumn(#"Added Custom1", "Custom.1"),
#"Added Custom2" = Table.AddColumn(#"Expanded Custom.1", "Custom.2", each Date.AddDays([min_date], [Custom.1] - 1)),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom2",{"min_date", "max_date", "Custom", "Custom.1"}),
#"Merged Queries" = Table.NestedJoin(#"Removed Columns", {"Version", "Custom.2"}, your_data_table_name, {"Version", "Date"}, "your_data_table_name", JoinKind.LeftOuter),
#"Expanded your_data_table_name" = Table.ExpandTableColumn(#"Merged Queries", "your_data_table_name", {"Value"}, {"your_data_table_name.Value"}),
#"Replaced Value" = Table.ReplaceValue(#"Expanded your_data_table_name",null,0,Replacer.ReplaceValue,{"your_data_table_name.Value"}),
#"Renamed Columns" = Table.RenameColumns(#"Replaced Value",{{"Custom.2", "Date"}, {"your_data_table_name.Value", "Value"}}),
#"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Date", type date}})
in
#"Changed Type"
您最终将拥有以下数据-
现在您可以从新表中创建切片器(单选)。同时使用新表中的日期和值列创建折线图。最终输出如下-