【问题标题】:Filter Data between Start Date and End Date in Power BI在 Power BI 中筛选开始日期和结束日期之间的数据
【发布时间】:2019-04-26 19:07:33
【问题描述】:

嘿,DAX 的新手:

我有包含 ProjectName、StartDate、EndDate 和 UsagePercentage 的项目数据。

我想按时间显示使用百分比,例如第 1 季度或仅一个月的 UsagePercentage 是多少。

如果我目前使用基于开始和结束日期的切片器,它不会显示正确的结果。

在上面的示例中,如果我选择 1 月作为我的月份,我的 Usage 应该是以黄色突出显示的那个,因为开始日期在 1 月之前,而结束日期在 1 月。

我相信我必须创建一个日期切片器,例如 start date <= Date <= End date 为此工作。但我不确定如何创建它并将其应用于报告。有什么帮助吗?

【问题讨论】:

  • 这对两个切片机来说应该不难。要仅使用一个,您需要编写带有过滤的度量。
  • 我有切片器:年、季度、月....我需要通过过滤进行测量。我正在编写 DAX,但它返回的信息不正确
  • 这有点奇怪。假设您选择了“2019 年第一季度”——您希望结果是什么?我的解释是,第一行中的范围涵盖了第一季度的部分但不是全部,那么您如何期望这 10% 会在结果中表示?
  • 我试图找出相同的..如果我选择“Q1-2019”它应该向我显示一月/二月/三月的结果,例如:一月-> 开始日期更少的记录大于一月且结束日期大于一月二月--> 开始日期小于二月但结束日期大于一月的记录。此结果应排除结束日期在一月的结果。

标签: report powerbi powerbi-desktop


【解决方案1】:

您可以编写一个度量,取切片器选择的最大值和最小值:

Percentage = 
VAR StartDate = MIN ( Slicer[Date] )
VAR EndDate = MAX ( Slicer[Date] )
RETURN
    CALCULATE (
        SUM ( DataTable[PercentageOfUse] ),
        DataTable[StartDate] <= StartDate,
        DataTable[EndDate] >= EndDate
    )

您的具体情况可能有所不同,但这可能会为您指明正确的方向。

【讨论】:

  • 不是完美的答案,但我现在走在正确的道路上。我认为这不仅需要一个条件
  • Alexis 你的表达部分有效,但在某些情况下失败,例如如果项目的开始日期是 1 月 5 日,而我的切片器日期是 1-1-2019 到 4-1-2019,则过滤器不会计算以 1 月 5 日为开始日期的行。我认为上面应该是 Percentage = VAR StartDate = MIN ( Slicer[Date] ) VAR EndDate = MAX ( Slicer[Date] ) RETURN CALCULATE ( SUM ( DataTable[PercentageOfUse] ), DataTable[StartDate] >= StartDate, DataTable[EndDate ] = EndDate...我不知道如何编写代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多