【问题标题】:Is there a way to show the sum of a value within a certain time range (ex: 2 days)?有没有办法显示某个时间范围内的值的总和(例如:2 天)?
【发布时间】:2020-12-28 23:22:26
【问题描述】:

我正在测量各种工具的持续时间(以分钟为单位)。该工具可以在同一天运行多次。如果该工具在 2 天内运行超过 20 分钟,我想将其标记为“高使用率”。这将以矩阵格式显示。

例如,我想将工具 A 标记为“高使用率”,但不标记工具 B

我不确定如何表示 2 天的时间段。这可以在 DAX 中实现吗?

Date Tool Name Minutes
12/2 Tool A 10
12/2 Tool B 5
12/2 Tool C 7
12/3 Tool A 12
12/3 Tool B 6

【问题讨论】:

  • 如果您的数据中接下来几天出现“工具”,您能否解释一下您希望如何显示此度量?

标签: powerbi dax data-analysis powerquery powerbi-desktop


【解决方案1】:

假设表名是 ToolUsage 并且日期列是 DATETIME,则可以编写一个度量来计算单个工具最近两天的使用情况

Tool2LastDayUsage = 
IF (
    HASONEVALUE ( ToolUsage[Tool Name] ),
    VAR MaxDate = MAX ( ToolUsage[Date] )
    VAR LastTwoDays =
        CALCULATETABLE (
            VALUES(ToolUsage[Date]),
            ToolUsage[Date] > MaxDate - 2
                && ToolUsage[Date] <= MaxDate
        )
    RETURN
        CALCULATE (
            SUM ( ToolUsage[Minutes] ),
            LastTwoDays,
            ALLEXCEPT (
                ToolUsage,
                ToolUsage[Tool Name]
            )
        )
)

首先我们检查是否使用HASONEVALUE 选择了一个工具,然后我们计算当前选择中的最后一个日期,并使用它来准备包含 2 天时间段的LastTwoDays 表。最后,我们通过应用LastTwoDays 过滤表和ALLEXCEPT 来计算最近两天的使用情况,以删除ToolUsage 表上的任何现有过滤器,但Tool Name 上的过滤器

然后我们可以使用这个度量来构建另一个度量来检查过去两天的使用情况,并用“高使用”标记高使用工具

HighUse = IF( [Tool2LastDayUsage] > 20, "Hig Use" )

这些度量可用于矩阵或表格视觉效果。如果包含ToolUsage[Date],他们会使用它来计算最后两天的时间段。

当然,可以实现不同的行为;例如,无论当前可视行上的日期如何,都使用总体最大日期来标记该工具。

要在视觉对象中显示 2 个句点,可以创建一个带有描述的表格,例如 12/2-12/3 和一个日期,在这种情况下是 12/3,设置为与工具使用表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    相关资源
    最近更新 更多