【问题标题】:If group contains a value, change all items in column to value如果组包含一个值,则将列中的所有项目更改为值
【发布时间】:2014-02-03 21:52:54
【问题描述】:

如果客户在任何时候都有“新”,任何人都知道如何添加一个将所有类型条目更改为“新”的列?

示例:

Trans  Date   Client Type
0001  1/2/13   1234  New
0002  1/4/13   1234  Returning
0003  1/3/13   1234  Returning
0004  1/3/13   1234  Returning
0005  1/5/13   1234  Returning

我想在 DAX 中执行此操作,但 Excel 或 SQL 也可以。谢谢!

【问题讨论】:

    标签: sql excel grouping calculated-columns dax


    【解决方案1】:

    试试这个。

    UPDATE Table 
    SET Type = 'New'
    WHERE Client IN (SELECT DISTINCT Client FROM Table WHERE Type = 'New')
    

    我不知道为什么我被否决了,但这里有一个 SQLFIDDLE 表明查询确实有效。

    【讨论】:

    • 你也有excel解决方案吗?
    • 不,我没有 Excel 解决方案。
    【解决方案2】:

    我有一个两列的解决方案给你。查看 E 和 F 列中的公式。参考假设您的数据从第 2 行开始在 A-D 列中,必要时进行更改。如果你真的想要一列解决方案,你也可以做一个数组公式

          A     B       C      D         
    1   Trans  Date   Client Type        
    2   0001  1/2/13   1234  New         
    3   0002  1/4/13   1234  Returning
    4   0003  1/3/13   1234  Returning
    5   0004  1/3/13   1234  Returning
    6   0005  1/5/13   1234  Returning
    

    在 E 列 - 连接您的客户编号并输入:

    "=C2&D2".
    

    这将产生诸如 1234New、1234Returning 等结果。

    在 F 列中 - 测试以查看 E 列​​中的任何内容是否具有行客户编号 +“新”。如果 E 列中有任何具有该客户编号和新的东西,则返回“新”作为状态,否则返回现有状态:

    "=IF(COUNTIF($E$2:$E$6,C2&"New")>=1,"New",D2)"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 1970-01-01
      • 2020-07-19
      • 2017-12-07
      • 1970-01-01
      • 2016-05-24
      • 2016-11-13
      相关资源
      最近更新 更多