Power BI-在2列之间选择切片器日期 [英] Power BI - Select Slicer Date Between 2 Columns
本文介绍了Power BI-在2列之间选择切片器日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望快速解释一下我希望实现的目标,然后是我们已经研究了一年多的方法。
预期结果 我有一个SCD值表格,其中有两列:SCD_VALID_FROM和SCD_VALID_TO。有没有办法联接我的模型中的日期表(或者简单地使用不带联接的切片器),以便能够选择两个SCD列之间的特定日期并返回该行数据?
原表
ID | SCD_Valid_From | SCR_Valid_To | Cost
1 2020-08-01 2020-08-03 5.00
选择的切片日期为2020-08-02。我希望返回此ID=1记录。
我们到目前为止所尝试的 去年,我们请了一位顾问来帮助我们推出Power BI。他的解决方案是创建一个扩展表,其中包含每个ID/日期组合的行。
扩展原始表
ID | SCD_Valid_Date | Cost
1 2020-08-01 5.00
1 2020-08-02 5.00
1 2020-08-03 5.00
这最初发生在Power BI端,我们将使用增量刷新来控制每天推送多少该表。长话短说,这是非常低效的,并且使刷新太慢而没有效果-对于5年的数据,我们需要每个ID超过2000行才能选择维度记录。
有没有办法使用切片器,使Power BI可以在表的两列中选择所选日期介于日期之间的记录?
推荐答案
让我解释一个解决方法,我希望这将帮助您解决问题。让我猜猜你有以下两张桌子-
- 在其中生成日期切片器的表,其中包含列";Date";。
- 具有列";SCD_Valid_From";和";SCD_Valid_To";的Your_Main_TABLE&Quot;。
如果您已经在这些表之间建立了关系,请使用以下代码创建一个新的定制表-
Dates2 =
SELECTCOLUMNS(
Dates,
"Date", Dates[Date]
)
从这里开始,我将考虑将";dates2";作为您的日期切片器的来源。但是,如果您的";date";表与表";Your_Main_TABLE";没有关系,则只需考虑用";date";替换下面创建的";dates2";即可。现在,在您的表中创建以下4个度量值&Your_Main_TABLE&Quot;
1.
date_from_current_row = max(join_using_date_range[SCD_Valid_From])
2.
date_to_current_row = max(join_using_date_range[SCD_Valid_to])
3.
date_selected_in_slicer = SELECTEDVALUE(Dates2[Date])
4.
show_hide_row =
if(
[date_selected_in_slicer] >= [date_from_current_row]
&& [date_selected_in_slicer] <= [date_to_current_row]
,
1,
0
)
现在您已准备好所有乐器可以演奏。使用表Your_Main_TABLE&qot;中的列创建视觉效果
最后一步:现在只需添加一个具有度量值";show_ide_row";的视觉级别筛选器,设置值将仅在";show_ide_row=1";时显示。
最终输出如下图所示-
这篇关于Power BI-在2列之间选择切片器日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文