Power BI-在2列之间选择切片器日期 [英] Power BI - Select Slicer Date Between 2 Columns

查看:10
本文介绍了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可以在表的两列中选择所选日期介于日期之间的记录?

推荐答案

让我解释一个解决方法,我希望这将帮助您解决问题。让我猜猜你有以下两张桌子-

  1. 在其中生成日期切片器的表,其中包含列";Date";。
  2. 具有列";SCD_Valid_From";和";SCD_Valid_To";的Your_Main_TABLE&Quot;。
第-1步:如果您的表和您的主表之间没有关系,则可以这样做,否则您必须创建一个新的表,如";dates2";。对于此解决方法,您不能在这些表之间建立关系。

如果您已经在这些表之间建立了关系,请使用以下代码创建一个新的定制表-

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆