DAX LOOKUPVALUE 函数需要列引用作为参数编号 2

问题描述

我有一个星型架构模型。

我有 2 张桌子,它们看起来像这样。

D_COURSES
Course_ID
Course_Name
Subject_Order

F_STUDENTCOURSES
COURSE_ID
POINTS_CAT_A
POINTS_CAT_B

我想获取 F_STUDENTCOURSES[COURSE_ID] 值并在 Subject_Order 表中查找 D_COURSES 值。如果该值为 1,我想对除法函数POINTS_CAT_APOINTS_CAT_B 值求和。

这是我使用的 DAX 函数

 divide(
    calculate(sum(F_STUDENTCOURSE[POINTS_CAT_A]),LOOKUPVALUE(D_COURSES[SUBJECT_ORDER],F_STUDENTCOURSE[COURSE_ID],1)),calculate(sum(F_STUDENTCOURSE[POINTS_CAT_B]),"") 

我收到的错误信息是这样的:

函数 LOOKUPVALUE 需要列引用作为参数编号 2。

我做错了什么?

解决方法

Lookupvalue 以这种方式工作 lookupvalue(column to return,column to search in,value to search for from the column)。在您的情况下,它将是 lookupvalue(d[subject],d[course_id],f[course_id])....通过在 d_course_id 列中查找 f_course_id 值来返回 d_subject。

,

我不认为 Lookupvalue 在计算中起作用。你可以试试以下方法吗

MEASURE=
VAR _1 = Calculate(sum([catA]),Filter (values(d[sub_order]),d[sub_order]=1)) 

VAR _2 = Calculate(sum([catB]),d[sub_order]=1)) 

VAR _3 = DIVIDE (_1,_2) 

RETURN _3 

假设有关系,当 suborder=1 时将 catA 和 catB 相加,然后除以