Power BI:基于少数表的数据值

时间:2017-09-22 09:25:07

标签: powerbi dax nested-if

我需要对与研究人(或潜在学生)相关的数据建模。

所有具有唯一身份证的联系人数据都存储在一个表格中,有兴趣学习的联系人(填写表格,正在填写文件等),直到他们签署学习合同,并将其存储在“候选人”表格中联系人可能会出现一次以上(例如几个专业化)。当有人签署合同时,将在“学生”表格中创建新的条目(通过联系人ID链接),其中一个联系人可以再研究一个以上的课程或者之前完成一个课程并且现在正在另一个课程 - 它将具有不同的DIDACTICS现状;这将再次导致一对多的关系。

我需要能够在一个地方(最好以漏斗的形式)计算和显示每个阶段的人数(最好还表明重复的条目数量):前景 - >有兴趣 - >候选人 - >学生视情况而定: - 前景将存在于联系人中, - 有兴趣的将提交表格的日期 - 候选人将有确认日期和状态收集文件 [可以在与候选人相关的表格中找到] - 学生将签订合同,并且几乎没有教学法 (这里我有IF语句的问题,必须检查DIDACTICS状态是否是STUDENT = True的其他表中的状态之一,因为一个ID可能只有很少的状态) - 上述任何状态都不应填写辞职日期(可能除了潜在客户)

当我获得每个组的计数时(稍后他们将通过客户的个人资料在每个组内进行分段),我想将其作为漏斗呈现,其中包含有关每个漏斗段之间的转换率(%)的其他信息。

任何想法如何处理它?<​​/ p>

提前谢谢你,你总是很棒。

P.S。 现在我添加了列嵌套的IF,它几乎可以工作,除了:

  

表'Rekrutacja'中'Didactics_Status__c'列的单个值   无法确定。

它是这样的:

onPath = IF(ISBLANK(MIN(Rekrutacja[Resignation_Date__c]));
    IF(NOT(Rekrutacja[Didactics_Status__c] IN {"break in education";"dean's leave";"OK";"resit";"semester start in progress";"transferred"});
        IF(NOT(ISBLANK(MIN(Rekrutacja[Signed_Contract_Date__c])));
            IF(NOT(ISBLANK(MIN(Rekrutacja[Confirmation_Date__c])));
                IF(NOT(ISBLANK(MIN(Rekrutacja[Enrollment_Date__c])));
                    "Interested";
                    "Prospect")
                ;"Candidate")
            ;"Contracted")
        ;"Student")
        ;"Resigned")

1 个答案:

答案 0 :(得分:0)

听起来我觉得你已经找到了列。只需要能够计算每个阶段的学生数量。

创建一个计算列,并为每个列执行= SUM(xyz)。 如果您需要条件,请将其嵌入SUM中。

除了嵌套if语句之外,我会做一个case / switch。它看起来更好。

Month = SWITCH('Table1'[CalendarMonth], 
    1, "January",
    2, "February",
    3, "March",
    4, "April",
    5, "May",
    6, "June",          
    7, "July",  
    8, "August",  
    9, "September",  
    10, "October",    
    11, "November",
    12, "December"
)

要创建渠道,您需要拥有全部学生数量。应该只是ID的计数。

然后取出你的SUM并除以ID的总数。