avg_macro and indirect macro refs run unmodified on Jenner - #1
Open
jenner-analytics wants to merge 1 commit into
Open
avg_macro and indirect macro refs run unmodified on Jenner#1jenner-analytics wants to merge 1 commit into
jenner-analytics wants to merge 1 commit into
Conversation
Bundles derived from this repo's own macro-programming exercises, each self-contained against sashelp.class / sashelp.cars / sashelp.heart: - t001: Assignment 4.sas -- call symputx counts + generated macro vars - t002: Assignment 7.sas -- multi-level indirect macro variable references - t003: Assignment 9.sas -- parameterized %avg_macro(dataset_name=, varlist=) - t004: Calculate Correlations Between Variables.sas -- proc means + proc corr - t005: Calculating Percentages...sas -- means/symputx/sort pipeline - t006: Macro Variables Call Symput.sas -- proc means class + single-pass merge All verified against the live Jenner API and reproduced via the shipped run_jenner.sh --all runner before committing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jenneranalytics.com provides an API that runs SAS code, with support for more than 200 SAS procedures. You can also use it with AI assistants in a collaborative workspace. It's available for Mac on the Apple App Store, and by license for Windows and Linux.
We support the larger community by
(1) increasing access to SAS-compatible systems,
(2) by providing test coverage and a test coverage framework to public SAS repos in order to encourage the use of best practices in software engineering.
Your Assignment 4.sas runs on Jenner unmodified — this PR adds a small compatibility bundle so you can see for yourself. It's the test we wrote for your macro-programming project, shared in case it's useful, and was assembled with AI assistance as is most code in modern businesses today.
Two of your files walk through indirect macro-variable references (
Assignment 7.sasandindirect reference of variables .sas), and the second one doesn't just use the&&&namepattern — it writes out the resolution rule in your own words ("processed from left to right... multiple ampersands, re-scan run until none left... two ampersands result into one during resolution"). That's a cleaner statement of SAS's ampersand-rescan algorithm than most explanations I've seen, and it held up exactly against the interpreter when we traced through&&&&&oneby hand.jenner-check/holds six bundles, one per technique — thecall symputxcounting/naming pattern from Assignment 4, the indirect references from Assignment 7, your parameterized%avg_macro, the correlations pipeline, the height-percentage pipeline, and the per-Make proportion calc — each with the script, a small runner, and the output we captured:Check out this PR's branch and run one directly from the repo root:
Or
cd jenner-check && ./run_jenner.sh --allto run all six and check them against the pinned results. The hosted API is free to try, no signup — full API reference: the docs.Only the SAS source text of whatever script you run (plus a two-line autoexec) gets sent to
api.jenneranalytics.com, which runs it and returns the log and listing. It doesn't read or upload any data files, so nothing else in the repo leaves your machine, and nothing is sent unless you run a command yourself.Merge it, close it, or ignore it — no response expected, and we won't open further PRs in this repo. To opt out for good, leave
no-more-prsin any comment or open an issue titledjenner-check: opt out.Lawrence W. Sinclair
CEO / Jenner Analytics Ltd
linkedin.com/in/lwsinclair/