excel - SAS ODS 是否支持 Excel 数组公式 (CSE-Formulas)?
问题描述
SAS ODS 是否支持 Excel ArrayFormulas (CSE-Formulas)?如果是这样,正确的语法是什么?
有没有办法在 ODS 中编写 Excel ArrayFormulas?要创建旧版 ArrayFormulas(2018 之前),您需要在 Excel 中按 Ctrl+Shift+Enter。但是,我需要在 SAS ODS 中执行此操作以进行自动报告。我正在使用 SAS Data Integration Studio 4.8 和 Microsoft Office 2010。
到目前为止我所拥有的:
[tagattr= "formula: =COUNT(1/FREQUENCY(IF((SUBTOTAL(3,OFFSET(R[+4]C[-15],ROW(R[+4]C[-15]:R[+&anzahlZeilen.]C[-15])-ROW(R[+4]C[-15]),0))=1) * (R[+4]C[-15]:R[+&anzahlZeilen.]C[-15]<>""""), MATCH(R[+4]C[-15]:R[+&anzahlZeilen.]C[-15],R[+4]C[-15]:R[+&anzahlZeilen.]C[-15],0)), ROW(INDIRECT(""1:""&COUNTA(R[+4]C[-15]:R[+&anzahlZeilen.]C[-15])))))
这导致以下 Excel 公式(公式的复杂性无关紧要):
=COUNT(1/FREQUENCY(IF((SUBTOTAL(3;OFFSET(C10;ROW(C10:C4293)-ROW(C10);0))=1) * (C10:C4293<>""); MATCH(C10:C4293;C10:C4293;0)); ROW(INDIRECT("1:"&COUNTA(C10:C4293)))))
结果是我正在寻找的结果(与上面相同,但用 {} 封装):
{=ANZAHL(1/HÄUFIGKEIT(WENN((TEILERGEBNIS(3;BEREICH.VERSCHIEBEN(C10;ZEILE(C10:C4293)-ZEILE(C10);0))=1) * (C10:C4293<>""); VERGLEICH(C10:C4293;C10:C4293;0)); ZEILE(INDIREKT("1:"&ANZAHL2(C10:C4293)))))}
解决方案
推荐阅读
- android - Kotlin 测试:不能使用提供的参数调用以下函数
- python - 有没有办法使用 datetime64 格式以每月格式对值进行分组?
- python-3.x - 正确陈述归一化混淆矩阵中的值
- c++ - 如何在 C++ 中对向量进行排序
- javascript - bootstrap-datepicker:如何动态更改语言属性?
- c# - Web 界面输入自动化 - > Selenium 是最佳方法吗?
- wordpress - 我需要帮助在 WordPress 存档页面上显示我的自定义分类法吗?
- mysql - 在 MySQL 数据库表中搜索 URL
- javascript - Slack 机器人通过 Amazon S3 发送图像
- kotlin - 如何在 kotlin 中声明 toString 方法?