我使用非常简单的DataModel报告网站的课程完成情况:
这给了我一个数据透视表,看起来如下所示:
我正在处理的一个复杂问题是,我只想根据数据透视表左侧显示的Course1 Audience表中找到的职位人员报告Course1模块的百分比。目前,我通过将这些职称硬编码到我的衡量标准中来实现这一目标:
IF(HASONEVALUE(Completions[Module]),
IF(VALUES(Completions[Module])="Course1",
CALCULATE(COUNTA(Completions[Email]),
OrgChart[Title]="Job Title 1"
||OrgChart[Title]="Job Title 2"
||OrgChart[Title]="Job Title 3"
||OrgChart[Title]="Job Title 4"
||OrgChart[Title]="Job Title 5")
/CALCULATE(COUNTA(AllStaff[Email]),
OrgChart[Title]="Job Title 1"
||OrgChart[Title]="Job Title 2"
||OrgChart[Title]="Job Title 3"
||OrgChart[Title]="Job Title 4"
||OrgChart[Title]="Job Title 5"))
,COUNTA(Completions[Email])/COUNTA(AllStaff[Email]))
,BLANK())
虽然这样做很好,但它相当笨拙,我只是讨厌将硬编码逻辑转化为这样的措施。我更倾向于从表中获取针对Course1的那些标题,以便最终用户可以修改此列表而无需了解如何编写DAX度量。
我有什么方法可以参考"课程1受众"在我的衡量表中而不是这些位?:
OrgChart[Title]="Job Title 1"
||OrgChart[Title]="Job Title 2"
||OrgChart[Title]="Job Title 3"
||OrgChart[Title]="Job Title 4"
||OrgChart[Title]="Job Title 5"
请注意,这仅适用于Course1。所有其他课程的完成率应根据所有员工计算,并不排除在课程1受众表中的那些职称。
答案 0 :(得分:1)
您可以使用CONTAINS()函数。这个小片段应该可以工作,虽然我没有你的数据,所以我无法测试它。确保您的Course 1 Audience数据也存储在您的数据模型中。
FILTER(OrgChart,CONTAINS(VALUES([Course 1 Audience]),[Course 1 Audience],OrgChart[Title])