【问题标题】:Measure in Power BI using if statements使用 if 语句在 Power BI 中测量
【发布时间】:2018-04-11 08:42:35
【问题描述】:

我想使用 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、 或 SUM。

我知道我可以创建一个条件列,但理想情况下,能够创建一个度量会很棒。 任何帮助表示赞赏。

【问题讨论】:

    标签: conditional powerbi measure


    【解决方案1】:

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

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

     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]
            )
        )    
    

    我的样本:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-06
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 2020-11-09
      • 1970-01-01
      • 2023-01-12
      • 2022-06-22
      相关资源
      最近更新 更多