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
Filter %在PowerBI中由高级分组完成的?_Filter_Powerbi_Dax - Fatal编程技术网

Filter %在PowerBI中由高级分组完成的?

Filter %在PowerBI中由高级分组完成的?,filter,powerbi,dax,Filter,Powerbi,Dax,我是Power BI的新手,希望能得到任何帮助。我会尽量简明扼要地说: 我的Power BI数据集只是一个大列表,包含(但不限于)用户、培训课程、培训计划和完成状态 培训计划由多个培训课程组成 我所要做的就是整理一张表格,显示每个用户的培训计划完成百分比,以及他们尚未完成的培训课程。例如,培训计划1由10个培训课程组成。如果用户已完成课程1-7,则其课程完成率为70%。然后3个课程将显示为未完成,课程8-10 我尝试了许多DAX方法来实现这一点,它们要么只起部分作用,要么根本不起作用 很高兴提供

我是Power BI的新手,希望能得到任何帮助。我会尽量简明扼要地说:

我的Power BI数据集只是一个大列表,包含(但不限于)用户、培训课程、培训计划和完成状态

培训计划由多个培训课程组成

我所要做的就是整理一张表格,显示每个用户的培训计划完成百分比,以及他们尚未完成的培训课程。例如,培训计划1由10个培训课程组成。如果用户已完成课程1-7,则其课程完成率为70%。然后3个课程将显示为未完成,课程8-10

我尝试了许多DAX方法来实现这一点,它们要么只起部分作用,要么根本不起作用

很高兴提供一个test.pbix文件作为上下文和/或我目前使用的DAX度量的一个示例,但最初没有提供它们,所以我不会混淆任何试图提供帮助的人


任何帮助都是非常感谢的,但是如果这是一个错误的论坛或者人们只是无法帮助,那也没关系。谢谢您的时间。

如果我理解正确,这里有一个可能的解决方案

假设您的数据是这样的。粒度是指每个用户及其参加的培训计划的课程。我们把这张桌子称为登记表

虽然不是强制性的,但最好将用户和培训计划分解到单独的维度表中,并形成星形模式

然后,可以使用下面的公式计算出所需的比率

Program Completion % = 
VAR NumCompleted = CALCULATE (
    COUNTROWS ( ProgramEnrollment ),
    ALLEXCEPT ( ProgramEnrollment, User, TrainingProgram ),
    ProgramEnrollment[Status] = "Completed"
)
VAR NumAllCourses = CALCULATE (
    COUNTROWS ( ProgramEnrollment ),
    ALLEXCEPT ( ProgramEnrollment, User, TrainingProgram )
)
RETURN IF (
    HASONEVALUE ( User[User] ) &&
    HASONEVALUE( TrainingProgram[Training Program] ),
    DIVIDE ( NumCompleted + 0, NumAllCourses )
)

pbix文件会很有帮助