Skip to content

Releases: Snoopy1866/Descriptive-Statistics-Macro

v1.6.4

14 Nov 07:48
8464b5d
Compare
Choose a tag to compare

Fix

  • 2029d57 fix(qualify): 删除多余的中间数据集 (#54)
  • 0f568b2 fix(quantify_multi_test): 修正检验统计量的输出格式 (#57)
  • 336602e fix(qualify_multi_test): 修正检验统计量的输出格式 (#55)
  • 669f53e fix(qualify_multi, quantify_multi): 参数 GROUP 无法指定分组名称 (#56)

v1.6.3

18 Sep 03:19
Compare
Choose a tag to compare

Fix

  • 9893019 fix(qualify_multi, qualify_multi_test) 指定 UID 时未输出例次结果 (#46)
  • 65180d3 fix(qualify) 标签行字符串被截断 (#49)
  • 3fffdc9 fix(qualify, quantify): item, value 列使用实际长度输出 (#52)

v1.6.2

10 Jul 08:19
a497f92
Compare
Choose a tag to compare

Feat

  • 55d4d69 feat(qualify) 指定 UID 的情况下,默认显示例次的统计结果 (#42)

Fix

  • f1847c6 fix(qualify) 指定 MISSING_POSITION = FIRST 时参数 VAR 对分类的重命名失效 (#37)
  • cb80733 fix(qualify) 分类名称长度过长,导致宏变量被赋为缺失值 (#41)
  • a497f92 fix(qualify) 在开放语句中调用导致 %SYSMEXECNAME 函数的参数 1 超出范围 (#44)

Full Changelog: v1.6.1...v1.6.2

v1.6.1

14 Jun 02:36
76bfab6
Compare
Choose a tag to compare

Fix

  • 64e7ae4 (qualify_multi) 修复了指定 uid 的情况下,未能计算统计量和 P 值的问题 #35
  • 76bfab6 (quantify_multi_test) 修复了当各组别均为单点分布时,仍然会尝试计算统计量和 P 值的问题 #36

v1.6.0

05 Jun 07:49
Compare
Choose a tag to compare
  • ca83a9d (cross_table) 新增宏程序 cross_table,用于生成交叉表
  • 0c20879 (qualify_xxx) 支持指定 MISSING 系列参数 #31
  • 994629a (qualify_xxx) 新增参数 TOTAL,用于统计所有指定分类的合计结果 #32
  • 5ad26cc (qualify_multi, quantify_multi) 修复了当参数 GROUPBY 指定了排序方向时,假设检验无法进行的问题
  • f160adf (quantify_multi) 修复了在输出数据集的 item 列显示的多余的引号的问题
  • 3961351 (qualify) 修复了无法对参数 BY 指定 format 中的某些不存在于数据集中的分类名称进行重命名的问题 #29
  • 6b953ed (quantify) 优化参数 STAT_NOTE 的调用方式 #33
  • c7a0f04 (cross_table) 优化参数 ROWCAT, COLCAT 的调用方式 #34
  • 4337b8d 说明文档结构优化

v1.5.2

28 Apr 08:53
Compare
Choose a tag to compare

Bug Fix

  • 3f9a627 (qualify) 未输出 BY 指定输出格式的所有分类结果 #25
  • 60d9e2b (qualify_multi_test) 默认情况下,某些需隐藏的变量被意外输出 #26

Perf

  • 67042ac (quantify) 对 PATTERN 指定的统计量去重 #23

⚠ 自 v1.5.0 开始,%desc_coun 不再进行功能更新和 Bug 修复,未来将由 %qualify_strata 取代。

v1.5.1

26 Apr 07:47
Compare
Choose a tag to compare

Bug Fix

  • a06d25e (qualify_multi) 未指定参数 GROUPBY 导致未创建用于输出变量标签的宏变量 #21
  • 7858c54 (qualify, quantify) 首次调用指定参数 stat_format 导致出错 #12
  • 5cc3e5f (qualify, quantify) 存在别名的统计量的输出格式未同步修改 #19

Perf

  • 84e5bc5 (qualify) 隔离参数 VARBY 的功能,现在参数 VAR 不再具备手动排序的功能 #22

Docs

  • fa6d347 优化帮助文档结构,可在参数说明中直接跳转到具体示例

⚠ 自 v1.5.0 开始,%desc_coun 不再进行功能更新和 Bug 修复,未来将由 %qualify_strata 取代。

v1.5.0

18 Apr 08:35
Compare
Choose a tag to compare

Feat

  • 9b96d3e (qualify_xxx) 新增参数 UID,支持在类似 OCCDS 的数据集上统计例次 #15
  • 540512a (qualify_multi) GROUP 组某分类频数缺失时,自动补零 #17

Bug Fix


⚠ 自 v1.5.0 开始,%desc_coun 不再进行功能更新和 Bug 修复,未来将由 %qualify_strata 取代。

1.4.7

20 Mar 01:49
Compare
Choose a tag to compare

Bug Fix

  • (desc_coun) 规避使用 CAT 函数家族导致变量被截断的问题 537306a #13
  • (qualify) 参数 indent 默认值未生效 fb5ab06

Perf

补充说明

本次更新优化了当参数 LABEL, INDENT, SUFFIX 需要指定包含特殊字符的字符串时的传参方式,具体以 LABEL 举例如下:

  • 参数包含 %, & 时:
label = '%&'
label = "%&"
label = '处方剂量体积(%)'

但以下两种传参方式会引发错误:

label = "处方剂量体积(%)"
label = "处方剂量体积(%nrstr(%%))"

这是因为双引号内部的字符会被 macro processor 解析,而单引号内部的字符不会。尽管后者使用了 %nrstr(%%)% 进行屏蔽,但只是编译阶段进行屏蔽,宏内部执行到 PROC SQL 时,仍然会试图对 % 后面的字符进行解析。

  • 参数包含 ', " 时:
label = "'"
label = '"'

但以下两种看似比较自然的传参方式会引发错误:

label = """"
label = ''''

尽管在 DATA 步中,字符串中的连续两个引号被视为一个引号,但这一规则在宏编程中并不适用,尝试以上述两种方式传递参数将导致宏程序提前结束。

此外,如果引号内含有与引号相同的字符,例如:

label = "%nrstr(%")"
label = '%nrstr(%')'

这两种传参方式也会导致宏程序提前结束。这是因为宏程序内部使用了以下正则表达式对参数进行检查:

^(\x22[^\x22]*\x22|\x27[^\x27]*\x27)$

这限制了含有与外围引号相同字符的字符串作为参数的传入。

1.4.6

06 Mar 08:17
Compare
Choose a tag to compare

Bug Fix

  • (quantify) 首次调用时使用参数 stat_format 手动指定输出格式导致错误 dca88cc #12