The eval method applies the column expression even if the function is not valid.
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
Rechercherichtung
Reproduziere das Problem mit dem Python DataFrame und dem CASTable.eval-Beispiel aus dem Bericht und untersuche anschließend die Implementierung von CASTable.eval sowie die vorhandenen Tests. Als erledigt gilt die Aufgabe, wenn eine ungültige SAS-Funktion einen Fehler auslöst, ohne die berechnete Variable oder den Ausdruck in castbl.params zu hinterlassen, während gültige Ausdrücke weiterhin funktionieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Even though you get an error when adding a function that doesn't exist to a CAS table object, it still adds the computation to the object. This causes an error moving forward. You either have to reset the CAS table object, or remove just the bad expression.
I feel that if you get an error when using a SAS function it should not add the expression to the CASTable object.
Example below:
Create demo DataFrame
df = pd.DataFrame({
'SASDate':[18260,18212, 18290, 18201, 18158],
'StrDate':['2009-12-29', '2009-11-11', '2010-01-28', '2009-10-31', '2009-09-18']
})
Upload DataFrame to CAS
castbl = conn.upload_frame(df,
casout = {'name':'date_table',
'caslib':'casuser',
'replace':True})
View params of CASTable object
castbl.params
[output]: {'name': 'DATE_TABLE', 'caslib': 'CASUSER(Peter)'}
Table preview
castbl.head()
Eval method bad function
castbl.eval('NewCol = badfunction(SASData)')
View params
castbl.params
[output]
{'name': 'DATE_TABLE',
'caslib': 'samples',
'computedvars': ['NewCol'],
'computedvarsprogram': 'NewCol = badfunction(SASData); NewCol = NewCol; '}
- Vorherrschende Sprache
- Python
- Sterne
- 159
- Forks
- 66
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus sassoftware/python-swat
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
sassoftware/python-swat#191 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
sassoftware/python-swat#183 · 1 Kommentar ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
sassoftware/python-swat#180 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
sassoftware/python-swat#178 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
sassoftware/python-swat#177 · 1 Kommentar ·
Alle Issues in sassoftware/python-swat
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
strawberry-graphql/strawberry#4794 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
dataforgoodfr/cetolog#21 ·
-
security_citations_test fails against ecc 2026.11.6: SECURITY.md quotes ecc v2026.11.2's linesOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
btclib-org/btclib#2932 ·
Maintainer antworten meist innerhalb von 1 Tag
-
metrics priority: medium
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 86/100
LearningCircuit/local-deep-research#8336 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100