根据多个条件计算值

时间:2019-10-22 19:14:43

标签: tableau tableau-server

enter image description here我有Grp_ids领域,我需要根据measure_ids的结果分配“通过”或“失败”

例如:如果组中的measure_id之一失败,我希望整个组都失败。

谢谢。

2 个答案:

答案 0 :(得分:0)

将Grp_Result定义为MIN([Measure_Results] = "Pass")

如果对于所选维度的每个数据行Measure_Results =“ Pass”(在示例中为Grp_Ids和Measure_is),则为True。如果您可以在Measure_Results列中使用null值,并且要将这些null视为Fail,则可以使用MIN(IFNULL([Measure_Results] = "Pass"), False)

之所以有用,是因为Tableau将True视为大于False。因此,MAX()保留每个数据行是否满足,而MAX()保留任何数据行是否满足。

通过使用布尔值代替字符串来表示记录是通过还是失败,可以进一步简化操作。

答案 1 :(得分:0)

这应该可以解决问题-

UPDATE
    REUTERS_CPDG_2019
SET
    Mth = SUBSTRING(filename, 30, 2),
    Dy = SUBSTRING(filename, 33, 2),
    Fl = SUBSTRING(filename, 44, 99);

通过GRP_ID对失败进行汇总。如果总和大于0(GRP_ID包含失败),则使整个GRP_ID失败。