【问题标题】:How to remove or exclude rows from a table using date slicer selection?如何使用日期切片器选择从表中删除或排除行?
【发布时间】:2021-05-21 15:42:52
【问题描述】:

根据以下情况,我需要排除表 Sales 中的所有行,其中包含 Client、sales、salesdate 和 region 列超出日期滑块所选最大和最小日期范围的行。

谁能推荐一个 DAX,我将分享我的 DAX 查询,该查询不起作用。我尝试在 PowerBI 中搜索官方指南中的 selectedValues() 来处理此日期过滤条件,但似乎没有任何效果。

我创建了一个日历表,其中包含在 Sales 表的 Sales Dates 列中存在的不同日期值。这两个表之间没有关系。我使用以下 DAX 度量来处理排除行的过滤条件:- 以下措施旨在在选择滑块中找到最大和最小日期

MaxDate=MAX(DateDimention[Dates])
MinDate=MIN(DateDimention[Dates])

下面的 ExcludedMeasure 旨在将 1 标志设置为除为最小和最大日期选择的选定值之外的值。

我将它拖放到我的表销售的可视过滤器中并将其设置为不显示。但它似乎不起作用。 请建议我该如何解决它。

ExcludeMeasure = IF (SELECTEDVALUE(Calendar,Calendar[MinDate],0,1),
                              IF (SELECTEDVALUE(Calendar,Calendar[MaxDate],0,1)

要在过滤器滑块中使用的我的当前可视化和独立日历表:- Present visualization Independent Calendar Table

输入数据源[Excel]

Client  Sales     SalesDates   Region
    A       1000    1.1.2000    USA
    A       100     1.2.2000    USA
    A       200     4.3.2000    USA
    B       110     4.3.2000    Europe
    B       1000    5.4.2000    Europe
    B       200     6.8.2001    Europe
    C       1100    7.9.2001    Asia
    C       2000    8.12.2001   Asia
    D        100    1.2.2002    Australia
    D       1300    6.3.2002    Australia
    E        100    7.5.2002    Africa

 

预期结果: 如果我在我的[Dates] 过滤器可视化中选择最小滑块日期为 01.04.2001 和最大滑块日期为 1.09.2001,那么在排除 '5.4.2001' 和 '6.8.2001':-

Client  Sales   SalesDates  Region

A       1000    1.1.2000    USA
A        100    1.2.2000    USA
A        200    4.3.2000    USA
B        110    4.3.2000    Europe
C        1100   7.9.2001    Asia
C        2000   8.12.2001   Asia
D        100    1.2.2002    Australia
D        1300   6.3.2002    Australia
E        100    7.5.2002    Africa

亲切的问候 萨米尔

【问题讨论】:

  • 为什么不使用销售和日期表之间的关系?这是解决问题的最简单方法。
  • 能否请您根据我的上述数据给我一个例子,因为我无法继续您所说的方法。

标签: powerbi dax powerbi-desktop


【解决方案1】:

日期表和销售表之间的关系是理想的,因为当您从日期表中过滤日期时,过滤器会从销售表中排除记录。

如果您没有包含关系的日期表,则您的排除度量需要是这样的:

Exclude = 
CALCULATE(COUNT(Sales[Id]), 
          Sales[SalesDates] >= [MinDate] && 
          Sales[SalesDate] <= [MaxDate]) > 0

【讨论】:

  • 嗨,我尝试了上面的 DAX,但它不起作用。在我的情况下,我需要返回所选最小和最大日期范围的所有排除项。上面的公式似乎返回了行数而且语法也不正确。你能在我上面指定的数据上试试吗..
猜你喜欢
  • 1970-01-01
  • 2016-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-22
  • 1970-01-01
相关资源
最近更新 更多