PowerBI运行总计公式

时间:2019-06-21 19:22:21

标签: powerbi dax

我有一个带有EMPLID,checkdate和NumberOfHours(以及其他字段)的数据集OvertimeHours。我需要每个雇员截至checkdate的运行TotalOfHours。我尝试使用“快速测量”选项,但只允许使用一列,而我只有两列。我不希望在应用过滤器时重新计算度量。最终,我要做的是确定每张支票上前6个小时的加班记录,以便他们可以得到OCB类别,并且前6个小时的所有加班都是OTP,并且不必准确(如下面的输出所示)。我只使用Power BI大约一个月,这对我来说是一个非常复杂的公式……

EMPLID        CheckDate   WkDate   NumberOfHours   RunningTotal     Category
124             1/1/19    12/20/18    5               5             OCB
124             1/1/19    12/21/18    9               14            OTP
125             1/1/19    12/20/18    3               3             OCB
125             1/1/19    12/20/18    2               5             OCB
125             1/1/19    12/22/18    2               7             OTP
124             1/15/19   1/8/19      3               3             OCB

*编辑后添加了WkDate。

编辑: 我已经对查询进行了调整,以便现在有了运行总计和一个顺序计数器: enter image description here

使用前12条记录,我希望获得以下结果:

enter image description here

如果这是最简单的方法,或者现在有了序列数据,我就可以在PowerBI中使用DAX在此数据集中使用DAX,我也可以这样做。

1 个答案:

答案 0 :(得分:0)

我在查询中得到它:

select  r.CheckDate, 
        r.EMPLID, 
        case 
            when PayrollRunningOTHours <= 6 
                then PayrollRunningOTHours 
            else 6 
        end as OCBHours, 
        case 
            when PayRollRunningOTHours > 6 
                then PayRollRunningOTHours - 6 
        end as OTPHours 
from    #rollingtotal r
inner   
join    lastone l 
        on r.CheckDate = l.CheckDate 
        and r.EMPLID = l.EMPLID 
        and r.OTCounter = l.lastRec
order   by r.emplid, 
        r.CheckDate, 
        r.OTCounter