有没有办法在这些Power BI DAX代码中再添加1条条件?

时间:2019-01-11 13:57:24

标签: powerbi dax powerbi-desktop

在Power BI中,我具有以下DAX表达式:

Others = 
VAR mymodel =
    VALUES ( 'Compare Data'[Model] )
RETURN
    CONCATENATEX (
        EXCEPT (
            CALCULATETABLE (
                VALUES ( 'Full Data'[Vendor Name] ),
                'Full Data'[Engine Model] IN mymodel
            ),
            VALUES ( 'Compare Data'[Name] )
        ),
        [Vendor Name],
        ", "
    )

我没有任何编程知识,但是我知道,“其他”度量标准是写给仅响应“模型”切片器的。

是否有一种方法可以使此措施同时响应“比较数据” [模型]和“比较数据” [组] ,而其余代码保持不变?

我也有这段代码,该代码应该用于计算替代方案的平均成本,并产生与第一个代码相同的结果。但是,选择切片器时它们不会产生相同的结果。

        Measure 2 = 

    VAR __vendor = MAX('Compare Data'[Name])

    VAR __model = MAX('Compare Data'[Model])

    VAR __group = MAX('Compare Data'[Group])

    VAR __table = FILTER('Full Data',([Vendor Name]<>__vendor 
    &&  [Engine Model] = __model) && [Material Group]  = __group)

    VAR __vendorAverage = AVERAGEX(FILTER(ALL('Compare Data'),
 'Compare Data'[Name] = __vendor),[Cost])

    VAR __othersAverage = AVERAGEX(__table,[Repair Cost])

    RETURN
        __othersAverage

我怀疑这一行是导致无法获得相同结果的原因:

VAR __table = FILTER('Full Data',([Vendor Name]<>__vendor 
&&  [Engine Model] = __model) && [Material Group]  = __group)

根据这里写的标准,我猜想是在“完整数据”表中,仅返回“供应商名称”列中不等于“比较数据” [名称] 并且等于“比较数据” [模型]的任何值。并且等于“比较数据” [GROUP]的任何值。

我认为DAX运算符AND(&&)这里有问题。您能告诉我如何获得符合以下条件的结果吗?

  1. “完整数据” [供应商名称] <>“比较数据” [名称]

AND

  1. “完整数据” [引擎模型] =“比较数据” [模型] OR “完整数据” [材料组] =“比较数据” [组]

我尝试过:

VAR __table = FILTER('Full Data',(([Vendor Name]<>__vendor 
&&  [Engine Model] = __model)) 
|| ([Vendor Name]<>__vendor &&[Material Group]  = __group))

但我认为这不是我想要的。该度量有时仍返回错误的值。

如果您有任何想法,可以请帮帮我吗?非常感谢!

0 个答案:

没有答案