DAX 衡量指标以生成周线图

问题描述 投票:0回答:1

希望生成一个周图表,其中 x 轴为日期,y 轴为度量,称为“重复访问时间”。 我可以获取计算所选日期而不是一周的度量。

这不是真实数据,而是我花了很长时间准备的一些模拟数据,以保护一些敏感数据。

图 1 – Power BI 中的页面是什么样子?

enter image description here

Mon 的值应为 569,997。周三、周四和本周其余时间的值应为 0。 图 2 - 周一值

enter image description here

因此,无效的措施是这个:

_RepeatTimeToAccess_Value_Days_Graph =
VAR Selected_Date =
    SELECTEDVALUE ( 'DateSelector'[WeekDate], MAX ( 'DateSelector'[WeekDate] ) )
VAR allseconds =
    CALCULATE (
        AVERAGEX (
            VALUES ( AppUser[AppUserId] ),
            DATEDIFF (
                IF ( AppUser[LastLogin] = DATE ( 1899, 12, 30 ), BLANK (), AppUser[LastLogin] ),
                AppUser[CurrentDate],
                SECOND
            )
        ),
        'Date'[WeekDate] = Selected_Date
    )
VAR days =
    INT ( allseconds / 24 / 60 / 60 )
RETURN
    allseconds

我还引用了两项措施(当前日期和上次登录):

CurrentDate =
VAR DateSelected =
    CALCULATE (
        MAX ( 'Date'[DayDate] ),
        FILTER (
            'Date',
            SELECTEDVALUE ( 'DateSelector'[DayDate], MAX ( 'DateSelector'[DayDate] ) ) = 'Date'[DayDate]
        )
    )
VAR Today =
    TODAY ()
VAR Result =
    IF (
        Today = DateSelected,
        NOW (),
        DATEVALUE ( DateSelected ) + TIME ( 23, 59, 59 )
    )
RETURN
    Result

LastLogin =
CALCULATE (
    MINX (
        TOPN ( 1, 'AppAccessLog', 'AppAccessLog'[Source_OriginalTimeStamp] ),
        'AppAccessLog'[Source_OriginalTimeStamp]
    ),
    FILTER (
        ALL ( 'Date' ),
        'Date'[DateId]
            <= SELECTEDVALUE ( 'DateSelector'[DateId], MAX ( 'DateSelector'[DateId] ) )
    )
) + 0

所有用户的平均重复访问时间,无论他们今天是否登录。上述措施排除了在排除 if 语句之前从未登录过的任何用户。这非常适合使用 HOME power BI 页面上断开连接的日期选择器表选择的某一天。

直接查询模式下的仪表板,因此请与所需的 dax 选项相关。

为了解释这个当前日期度量,如果选择今天,我将现在的时间作为当前日期。如果计算的度量值是昨天,则昨天的 23.59.59 将用作当前日期。

sql-server powerbi dax
1个回答
0
投票

您可以使用 dax 将计算列添加到您的表中吗?

如果是,您可以添加一周的开始日期,然后以此日期为基础:

StartOfWeekDate = YourTable[Date] - WEEKDAY(YourTable[Date], 2) + 1

此公式假设一周的开始是星期一。如果您需要一周的开始是另一天,请相应地调整 WEEKDAY 函数的第二个参数:

1 周日 周一 2 次 周二 3 次 ... 周六 7 点

© www.soinside.com 2019 - 2024. All rights reserved.