每条记录包含
我使用 if 条件创建了一个变量 Category,但它只对记录求值一次。例如,当 ID 24 应同时标识为新的和已终止的时,它仅被标识为新的。
我需要识别每个ID,以确定该州是否是在2022年期间新添加的,以及该州是否是在2022年命名的(类别)。结果表如下所示:
然后对于每个状态,我需要统计类别数和格式如下:
我使用 if 条件创建了一个变量 Category,但它只对记录求值一次。例如,当 ID 24 应同时标识为新的和已终止的时,它仅被标识为新的。
=If [EffDate] >='1/1/2022' And [EffDate]<='12/31/2022' Then "New" ElseIf [ExpDte] >='1/1/2022' And [ExpDte]<='12/31/2022' Then "Termed" Else "NA"
任何解决这个问题的帮助将不胜感激。
一个 ID 不可能成为两个东西,所以我将采取一些不同的路径。我将只使用两个标志变量(0 或 1);一个如果 ID 为“新”,另一个如果为“已终止”。
为了获得可以使用的数据集,我执行了以下操作...
这是包含该 SQL 语句的 dbfiddle。我必须显式地将 EffDte 和 ExpDte 转换为日期,以便我实际上可以与它们进行日期比较。如果您可以在 dbfiddle 中提供 SQL(或者甚至将其发布在您的问题中,如果它不是太长的话),则可以将其放入徒手 SQL 查询中,这对可能回答的人确实有帮助。
无论如何,这是我的表格,其中包含您的数据。
我根据您的数据范围创建了两个变量,其中“1”为真,“0”为假。
Var Is New=Sum(If( [EffDte] >='1/1/2022' And [EffDte]<='12/31/2022'; 1; 0))
Var Is Termed=Sum(If([ExpDte] >='1/1/2022' And [ExpDte]<='12/31/2022'; 1; 0))
我不需要在这个阶段对它们求和,但我会在下一个阶段对它们求和,而且这里不会有什么坏处,所以我在这个阶段这样做。
现在我需要一个交叉表来开始将其组合在一起。我将 State 作为列标题。我必须在交叉表的最后一行下方添加一行,以便我们有两行,因为我们没有实际的 Category 变量。它应该看起来像这样...
接下来添加“类别”列标题以及“新建”和“术语”行标题,以便您的表格看起来像这样...
最后,您只需将 Var Is New 和 Var Is Termed 放到相应的行中,WebI 就会完成其余的工作。