使用 if 语句在 Power BI 中进行测量

问题描述 投票:0回答:1

我想使用 if 语句创建以下度量:

PRE_MTD_M_visit_cost_v2 =
    if('table_1'[Source_Type]="Online";
        CALCULATE((DIVIDE(21*[MTD_M_visit_cost];7)));
        'table_1'[M_visit_cost])

我想创建一个带有条件语句的度量,如果

Source_Type
列有“在线”,那么我想根据4月份过去的工作日数(有21个工作日)计算
MTD_M_visit_cost
。 如果列 Source_Type 有另一个文本值,我想返回
M_visit_cost
度量(我已经创建了)。

PBI 返回以下错误:

无法为“Source_Type”列定义一个值 “roistat-analytics-data”表。如果对于单个 结果,度量公式是指包含一组的列 值,但不指定聚合,例如 MIN、MAX、COUNT, 或求和。

我知道我可以创建一个条件列,但理想情况下,如果能够创建一个度量那就太好了。 如有任何帮助,我们将不胜感激。

conditional-statements powerbi measure
1个回答
0
投票

只要两个“子措施”的聚合相同,这就是可能的。您可以使用 nameX (sumX, avarageX) 函数访问一行中的值。这些函数会迭代一行,因此您可以根据特定行中的值进行不同的计算。

由于您没有提供示例数据,所以我构建了一个小样本。希望这是您可以使用的东西。在我的示例“销售”中,如果销售类型 =“在线”,我只想将增值税添加到金额中。对于离线,增值税将被忽略。

 SalesAmount = 
    SUMX( Sales;
    IF ( Sales[Type] = "Online" ; Sales[Amount] + Sales[VAT] ; Sales[Amount] 
    )
 )

根据你的公式,它会是这样的:

PRE_MTD_M_visit_cost_v2 =
    SUMX (
        table_1;
        IF (
            'table_1'[Source_Type] = "Online";
            DIVIDE ( 21 * [MTD_M_visit_cost]; 7 );
           'table_1'[M_visit_cost]
        )
    )    

我的样品:

© www.soinside.com 2019 - 2024. All rights reserved.