Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 在Power BI中,如何将工作日转换为每天可以更新不止一次的小时数?_Powerbi_Dax_Data Analysis_Powerquery_M - Fatal编程技术网

Powerbi 在Power BI中,如何将工作日转换为每天可以更新不止一次的小时数?

Powerbi 在Power BI中,如何将工作日转换为每天可以更新不止一次的小时数?,powerbi,dax,data-analysis,powerquery,m,Powerbi,Dax,Data Analysis,Powerquery,M,我第一次使用Power BI,我的任务是将我们的机票响应时间与我们向客户承诺的时间进行比较。我需要显示自创建工单以来,已经过去了多少个工作日和工作小时。营业时间为08:00-16:00(视客户而定),工作日为周一、周二、周三、周四和周五。每天工作8小时。如果一张票在15:00到达,我们有一个工作日需要回复,那么我们需要在第二天15:00之前回复,而不是当天23:00。我现在的问题是,我目前的计算是在一个完整的工作日内完成的。这意味着我的工作时间间隔仅为8小时。这在日常生活中不是很有用,因为我们只

我第一次使用Power BI,我的任务是将我们的机票响应时间与我们向客户承诺的时间进行比较。我需要显示自创建工单以来,已经过去了多少个工作日和工作小时。营业时间为08:00-16:00(视客户而定),工作日为周一、周二、周三、周四和周五。每天工作8小时。如果一张票在15:00到达,我们有一个工作日需要回复,那么我们需要在第二天15:00之前回复,而不是当天23:00。我现在的问题是,我目前的计算是在一个完整的工作日内完成的。这意味着我的工作时间间隔仅为8小时。这在日常生活中不是很有用,因为我们只有一天的时间来回复一张罚单,并且需要知道它已经接近最后期限了

实际上,这将转换为一列,其中今天创建的工单将经过0个工作日和0个工作小时,即使当前时间是15:00,并且工单是在08:00创建的

目前,我有(除其他外)这两个栏目:已过去的工作日(WDE)和已过去的工作小时(WHE)

WDE的计算方法如下,以排除周末:

(InitialDate as date) as number => 
let
    FinalDate =  DateTime.Date(DateTime.LocalNow()),
    DaysBetweenDates = Duration.Days(FinalDate-InitialDate),
    DaysList = List.Dates(List.Min({InitialDate,FinalDate}),DaysBetweenDates, Duration.From(1)),
    WeekDaysList = List.Select(DaysList, each (Date.DayOfWeek(_, Day.Monday) < 5) ),
    WorkingDays = (if DaysBetweenDates < 0 then -1 else 1) * List.Count(WeekDaysList)
in
    WorkingDays
如何将其转换为至少每小时都可以刷新的内容?也许更经常


我希望我已经提供了足够的信息,这一切都是有意义的。

我想出来了,这主要是一个数学问题。我做了一个可以每小时更新的解决方案,看起来不错

我添加了两列:营业时间开始和营业时间结束。然后用以下方法将我的WorkDaysElapsed转换为小数(我尝试给它取一些有意义的名字):

Howfartentheday=现在-开始

HowManyPercentageOfTheToalDayHasGoneBy=HowmanyPercentageofthetoalDay/(结束-开始)

WorkdaySelapsedDecimals=WorkDaysElapsed+ToalDayHasGoneby的百分比


我不知道这是否是最好的解决方案,但它似乎能解决问题。

我发现,这主要是一个数学问题。我做了一个可以每小时更新的解决方案,看起来不错

我添加了两列:营业时间开始和营业时间结束。然后用以下方法将我的WorkDaysElapsed转换为小数(我尝试给它取一些有意义的名字):

Howfartentheday=现在-开始

HowManyPercentageOfTheToalDayHasGoneBy=HowmanyPercentageofthetoalDay/(结束-开始)

WorkdaySelapsedDecimals=WorkDaysElapsed+ToalDayHasGoneby的百分比


我不知道这是否是最好的解决方案,但它似乎起到了作用。

你有日历和时间表吗?@Jonee没有,但如果它能解决我的问题,我愿意接受这个想法。我对这类表格的假设是,它们将日期转换为忽略周末(和节假日等)的设置,从而为您提供了一个干净的数字序列,以便您计算“工作日”中的差异。这同样适用于将“工作时间”转换为标准化数字的情况(可能是“一天”的小数)。我认为这是你应该在BI中使用关系表设置的东西。你有日历和时间表吗?@Jonee没有,但如果它能解决我的问题,我愿意接受这个想法。我对这些表的假设是,它们将日期转换为忽略周末(和假期等)的设置,从而为您提供了一个干净的数字序列,以便您计算“工作日”中的差异。这同样适用于将“工作时间”转换为标准化数字的情况(可能是“一天”的小数)。我认为这是应该在BI中使用关系表设置的类型。
Work Hours Elapsed = 'Work Items'[Work Days Elapsed]*'Work Items'[Business Hours]