【问题标题】:DAX LOOKUPVALUE Function Expects a Column Reference as Argument Number 2DAX LOOKUPVALUE 函数需要列引用作为参数编号 2
【发布时间】:2021-07-01 00:46:12
【问题描述】:

我有一个星型模式模型。

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

D_COURSES
Course_ID
Course_Name
Subject_Order

F_STUDENTCOURSES
COURSE_ID
POINTS_CAT_A
POINTS_CAT_B

我想获取F_STUDENTCOURSES[COURSE_ID] 值并在D_COURSES 表中查找Subject_Order 值。如果该值为 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(D_COURSES[SUBJECT_ORDER],F_STUDENTCOURSE[COURSE_ID],1)), "") 

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

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

我做错了什么?

【问题讨论】:

    标签: powerbi dax powerbi-desktop


    【解决方案1】:

    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 已在用作表过滤器表达式的 TRUE/FALSE 表达式中使用。这是不允许的。”
    【解决方案2】:

    我认为 Lookupvalue 在计算中不起作用。请您尝试以下方法

    MEASURE=
    VAR _1 = Calculate(sum([catA]),Filter (values(d[sub_order]), d[sub_order]=1)) 
    
    VAR _2 = Calculate(sum([catB]),Filter (values(d[sub_order]), d[sub_order]=1)) 
    
    VAR _3 = DIVIDE (_1,_2) 
    
    RETURN _3 
    

    假设存在关系,它在 suborder=1 时将 catA 和 catB 相加,然后除以

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-20
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 2022-11-08
      相关资源
      最近更新 更多