繁体   English   中英

Power BI 时差

[英]Power BI Time Difference

我有一个用户被邀请加入 ApplicationUser 表中名为 DateInvited 的应用程序的日期。 我还有一列存储邀请(TimeInvited)的时间元素。 我有另一个名为 ApplicationAccessLog 的表,其中包含访问日期(访问日期)和时间 ID 的单独列,这是链接到 DimTime 表的时间键(TimeID),然后为您提供时间元素。

-ApplicationUser Table ( Not linked to DimTime)

( DateInvitedID ( INT) , DateInvited ( DateTime) , TimeInvited(Time) )

-ApplicationAccessLog ( Linked to DimTime via TimeID)

( AccessDate ( Date) , TimeID ( INT) ) 

-DimTime 

TimeId  int
TimeValue   time
DayTimeText char
FlagMorning bit
Hour    tinyint
MinuteDay   smallint
MinuteHour  tinyint
SecondDay   int
SecondHour  smallint
SecondMinute    tinyint

样本数据

App User Name   Access Date     TimeId  Hour    MinuteHour  SecondMinute    TimeValue   DateInvited TimeInvited
Mr x    24/02/2020  32222   8   57  2   08:57:02    23/02/2020 17:20    17:20:05

我需要在受邀日期和首次访问日期之间的几小时内工作。 因此,power bi 中单独的时间和日期列的概念让我感到厌烦。 我应该将其转换为 Datawarehouse 中的组合日期时间,然后在 power bi side 或 power query 中执行简单的 DATEDIFF 吗?

是否有一种简单的方法可以在 DAX 中执行此操作并避免引入组合的日期和时间列?

对我来说,最简单的解决方案是在 DWH 或电源查询(或 DAX)中创建 DateTime 列。 (如果在电源查询中完成更好)如果您不“实现”列,则每次调用表达式时都会重新计算它,我不确定性能如何。 (这取决于行数)。 如果您不想看到它,也可以将此列设置为隐藏。

--In Power Query use this function as column expression
#datetime(year as number, month as number, day as number, hour as number, minute as number, second as number)

--Using Dax Calculated Column
DateTimeCol = DATE ( YYYY, MM, DD ) + TIME ( hh, mm, ss )

--in a measure, you can then use the DATEDIFF function (or in the calculated column itself if you prefer)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM