我想使用 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, 或求和。
我知道我可以创建一个条件列,但理想情况下,如果能够创建一个度量那就太好了。 如有任何帮助,我们将不胜感激。
只要两个“子措施”的聚合相同,这就是可能的。您可以使用 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]
)
)
我的样品: