Поддерживает ли SAS ODS формулы массивов Excel (CSE-Formulas)? - PullRequest
0 голосов
/ 16 мая 2019

Поддерживает ли SAS ODS Excel ArrayFormulas (CSE-Formulas)?Если да, то каков правильный синтаксис?

Есть ли способ написать Excel ArrayFormulas в ODS?Чтобы создать устаревшие ArrayFormulas (до 2018 года), вам нужно нажать Ctrl + Shift + Enter в Excel.Мне нужно сделать это в 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)))))}
...