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中使用持续时间(可用性)_Powerbi_Dax - Fatal编程技术网

在PowerBi中使用持续时间(可用性)

在PowerBi中使用持续时间(可用性),powerbi,dax,Powerbi,Dax,我正在尝试在PowerBI中创建一个折线图。我想画的东西有点复杂 我有以下表格: 人员配置-此表描述了公司每位员工的人员配置。我所说的“人员配置”是指如何分配他们的时间。例如,员工#7在“鸡肉制造”工作,开始日期为2016年1月1日,结束日期为2016年1月10日 EmployeeID Project StartDate EndDate 5 Cutting Lemons 12/1/2015 12

我正在尝试在PowerBI中创建一个折线图。我想画的东西有点复杂

我有以下表格:

人员配置-此表描述了公司每位员工的人员配置。我所说的“人员配置”是指如何分配他们的时间。例如,员工#7在“鸡肉制造”工作,开始日期为2016年1月1日,结束日期为2016年1月10日

EmployeeID   Project                  StartDate       EndDate
5            Cutting Lemons          12/1/2015       12/31/2015
5            Chicken Manufacturing    1/1/2016        1/10/2016
6            Fishing Lobsters         1/2/2016        1/5/2016
7            Chicken Manufacturing    1/5/2016        2/1/2016
8            Drinking                 2/1/2016        null
我还有一个标准的日期维度、一个Employees表和一个Project表。Employees表中的每个员工都有一行,项目中的每个活动都有一行

我正在尝试创建一个在x轴上有日期的线图,该线将显示在给定日期有多少员工处于活动状态。因此,在2015年1月12日至2016年10月1日期间,5名员工应被视为“员工”,但在2016年11月1日,他不应包括在总数中


我实际上想做的是计算可用性,我的意思是,每天有多少员工可用小时(我有一个叫做可用的项目),所以最终我想计算小时数,而不是员工数,但我想如果我能开始计算员工数,将员工人数乘以每天8小时,我应该不会有太多麻烦。

试试这样的方法:

Count of Emp =
CALCULATE (
    DISTINCTCOUNT ( Employee[EmployeeID] ),
    FILTER (
        Staffing,
        [StartDate] <= MAX ( 'Date'[Date] )
            && (
                [EndDate] >= MAX ( 'Date'[Date] )
                    || ISBLANK ( [EndDate] )
            )
    )
)
电磁脉冲计数=
算计(
DISTINCTCOUNT(员工[员工ID]),
滤器(
人员配备,
[StartDate]=最大值('Date'[Date])
||ISBLANK([EndDate])
)
)
)
它没有经过测试,但只要员工和员工之间有关系,它就应该可以工作。另外,请确保在轴设置中使用日期列


如果有帮助,请告诉我。

我有大约6种方法,但都不管用。在过去,当我做累计总计时,我总是做一些类似于计算的事情(人员配置,DATESMTD('Date')),但由于我需要每日总计,我一直在尝试一些变化,例如度量=计算(总和(人员配置[可用时数列]),DATESINPERIOD(人员配置[StartDate],MAX(人员配置[StartDate]),1000,DAY),这很有帮助,但它仍然不起作用:(度量值中的行与一行完全匹配,该行只是一个简单的employeeID@john5,你的意思是什么?根据你在OP中发布的数据,你的预期结果应该是什么?好的,根据你的公式,我认为正在发生的事情是:我认为你的公式正在重新计算每个日期的每一行。因此,当我有员工5开始2016年1月1日开始计算,员工7于2016年1月1日开始项目,将其计算为4,而应将其计算为2——因为它对员工5进行了2016年1月1日的计算,然后对员工5进行了2016年1月1日的另一次计算7@john5,基本上我的表达是计算在给定日期在一个项目中工作的不同员工。不是吗这是你需要的吗?