Ich habe einen NXN-Datensatz, von dem ich gerne eine Zeile (1XN) ausgeben möchte. Ich muss Prozentsätze in jeder Spalte berechnen. Während ich mich entlang der Säule bewege, verkleinern sich der Zähler und der Nenner immer weiter ab 1 Reihe darunter.Variierende Zeilennummern im SAS-Loop
Daten Ich habe:
Category Month 0 1 2 3 4 5 6 7 8 9
Categ_1 Month_1 15 15 15 14 14 13 13 13 13 13
Categ_1 Month_2 8 8 8 7 6 5 5 5 5 5
Categ_1 Month_3 15 15 14 14 14 12 11 11 11 10
Categ_1 Month_4 17 17 17 15 14 14 13 12 11 11
Categ_1 Month_5 25 25 25 23 21 19 18 16 16 16
Categ_1 Month_6 21 21 18 17 14 13 12 11 11 8
Categ_1 Month_7 29 28 25 23 20 18 15 14 13 13
Categ_1 Month_8 32 31 30 28 25 23 21 20 18 17
Categ_1 Month_9 38 37 35 32 27 24 23 20 17 16
Categ_1 Month_10 30 30 28 27 24 21 20 18 17 17
Was ich will, ist
Categ_1 100% 99% 94% 87% 82% 79% 76% 76% 78% 87%
wo für Spalte 1 (dh 100%) = (Gesamt in 0. Monat)/(Gesamt in 0. Monat) wo für Spalte 2 (dh 99%) = (gesamt im 1. Monat - letzte Zeile)/(gesamt im 0. Monat - letzte Zeile) und so weiter ...
Ich habe es in Excel mit einer einfachen OFFSET-Formel gemacht . Es wäre großartig, wenn jemand mir helfen könnte, es in SAS zu programmieren. Ich finde es schwierig, über eine Spalte zu springen, während die zu berücksichtigenden Zeilen ebenfalls variieren.
Vielen Dank im Voraus!
Bitte erläutern Sie, was Sie unten durch die letzte Zeile/eine Zeile bedeuten. (insgesamt im 1. Monat - insgesamt im 2. Monat)? – Jetzler
in Spalte 2 (99%) Was ich will ist = Summe der ersten 9 Zeilen der Spalte 2/Summe der ersten 9 Zeilen der Spalte 1 –
Sie wollen also eine Summe der oberen Diagonalen einer Matrix (dargestellt als SAS-Datensatz) ? Haben Sie SAS/IML lizenziert? – Joe