Ett SAS Viya-alternativ för hostat arbete

Den som söker ett Viya-alternativ letar sällan efter något att installera på en laptop. Det finns arbete i SAS-språket som körs någonstans centralt — en webbläsare någon loggar in i, eller en pipeline som anropar en plattform och väntar på resultat. Jenner täcker båda: en hostad JupyterLab-arbetsyta och en HTTP-slutpunkt som kör ett program och lämnar tillbaka dess utdata.

Det korta svaret

Jenner är en clean room-implementation av SAS 9.4-språket, skriven i Rust, och den är hostad. Teamet loggar in på en JupyterLab-arbetsyta i webbläsaren, öppnar ett program som redan finns och kör det — ingenting installeras på någons maskin och ingen SAS-licens behövs i något lager. Samma motor svarar över HTTP, så ett schemalagt jobb eller en AI-agent kan skicka in ett program och läsa tillbaka loggen, listan och de dataset körningen skapade.

Vem loggar in, och vad körs

En arbetsyta är delad: analytiker, granskare och statistiker arbetar mot samma filer i stället för att mejla dataset fram och tillbaka. Programmen förblir i SAS-syntax — DATA-steg, PROC SQL, makrospråket — och arbetsytan läser SAS7BDAT och XPT direkt, vid sidan av CSV och Parquet. Där en laptop verkligen är rätt plats för en del av arbetet finns samma motor som en inbyggd Mac-app: hostat och lokalt utesluter inte varandra.

Vad den hostade sidan ger

Tre vägar till en och samma motor. Vilken du väljer är en driftsättningsfråga, inte en omskrivning.

En JupyterLab-arbetsyta i webbläsaren

Inloggningen lämnar dig i JupyterLab, med organisationens filer och en Jenner-kärna redan kopplad. Ingenting installeras på någons maskin, och det är oftast hela poängen: en ny kollega får en fungerande miljö ur en webbläsarflik, och en låst företagslaptop duger lika bra som klient som en arbetsstation.

Program som körs över HTTP

Motorn svarar också på HTTP-anrop. Skicka ett program och dess indata och få tillbaka listan, loggen, en exitkod och varje dataset körningen skapade, som strukturerad JSON. Det är detta som gör den användbar från en orkestrerare, ett CI-jobb eller en AI-agent — ingen av dem kan sitta framför en interaktiv session och vänta på att en människa klickar.

100 dokumenterade procedurer

Katalogen är publicerad procedur för procedur, var och en med en referenssida som namnger de satser och alternativ den tar emot. På en hostad plattform väger det tyngre än en rubriksiffra: innan en last flyttas är frågan om just den PROC:en, med just de alternativen, finns — och det avgörs genom läsning, innan någon skriver på något.

Filerna du redan har

Jenner läser SAS7BDAT direkt, tillsammans med XPT, CSV och Parquet, och skriver tillbaka dem. Ett dataset når arbetsytan utan ett konverteringssteg först, och utdata kan lämna i det format nästa steg nedströms väntar sig.

Där något annat passar bättre

Fyra lägen där vi inte är rätt svar. Att veta vilket du är i är värt mer än en funktionstabell.

Altair SLC

Altair SLC, tidigare WPS, kör också program i SAS-språket utan SAS-licens, och har gjort det betydligt längre än vi. Där en lång meritlista väger tyngre för dig än en hostad arbetsyta — någon annan har redan gått på ditt specialfall och fått det åtgärdat — är det ett verkligt argument i deras favör, och du bör prissätta båda mot dina egna program.

Skriva om i Python eller R

Om kodbasen är liten, eller om ni ändå skulle bygga om, skriv om den i Python eller R. Tjugo program flyttade till pandas eller tidyverse är två veckors arbete och avslutar frågan för gott, på en stack det är lättare att rekrytera till. Att köra koden i SAS-språket som den är vinner när det finns mycket av den, när den är validerad, och när en omskrivning skulle betyda att varje siffra valideras om i stället för att bara skrivas av.

Stanna där ni är

SAS beskriver Viya som en plattform med visuella verktyg och modellhantering ovanpå språket. Om de som använder den arbetar i de gränssnitten snarare än i kod ersätter en motor för SAS-språket fel halva av det de rör vid, och att flytta dem kostar mer än det ger. Team vars användning är program — DATA-steg, PROC:ar, makron — är de som den här sidan är skriven för.

Vad vi inte täcker

Jenner implementerar 100 dokumenterade procedurer och en stor del av SAS-språket, och ingetdera är alltihop. Där ert arbete hänger på något vi inte byggt körs det inte, och det märks första eftermiddagen i stället för efter ett projekt. Vi är också yngre än alternativen som nämns här, med färre år av andras specialfall bakom oss. Procedurreferensen är publicerad i sin helhet, så täckningen går att kontrollera innan något utlovas.

Vanliga frågor

Jenner, om det ni faktiskt använder Viya till är att köra program i SAS-språket. Det är en clean room-implementation av SAS 9.4-språket skriven i Rust, hostad som en JupyterLab-arbetsyta teamet loggar in på, och nåbar över HTTP för allt som är automatiserat. Ingen SAS-licens krävs i något lager. Är er användning mest peka-och-klicka snarare än kod är avsnittet ovan om att stanna kvar det ärligare svaret.

Programmen, ja. DATA-steg, PROC SQL, makrospråket och 100 dokumenterade procedurer körs på Jenner utan SAS-programvara under, eftersom det är en fristående implementation och inte ett skal som anropar något annat. Det som inte följer med är allt som inte är ett program: innehåll hopsatt i ett peka-och-klicka-gränssnitt är inte kod i SAS-språket, så det finns inget för en motor att köra.

Den är hostad, och det är där överlappet finns. Ni får en arbetsyta i webbläsaren där JupyterLab körs på en container vi driver, delad inom organisationen, plus en HTTP-väg för jobb och agenter. Det är något mindre än en komplett analysplattform — en motor och en plats att köra den på, inte en katalog av applikationer. För ett team vars arbete är SAS-program är det oftast den halva som bär lasten.

De följer med. Jenner läser SAS7BDAT direkt, tillsammans med XPT, CSV och Parquet, och skriver tillbaka dem: ett dataset landar i arbetsytan utan konverteringssteg och resultaten lämnar i den form en kollega väntar sig. Det är också det som gör en last i taget möjlig, i stället för en omställningshelg ingen vill äga.

Ja — det är HTTP-vägen, och den behöver ingen webbläsare alls. En schemaläggare, ett CI-jobb eller en agent skickar programmet och dess indata och får tillbaka listan, loggen, en exitkod och dataseten som JSON, utan någon session som hålls öppen emellan. Det är samma motor som arbetsytan kör, så programmet någon utvecklade interaktivt är programmet pipelinen kör.

Ta en rapport vars utdata du känner igen på en sekund, kör den i arbetsytan och jämför de två utdatamängderna med PROC COMPARE, ner till den tolerans du själv sätter. Inne i arbetsytan är det en billig utvärdering — inget att installera och inget att köpa in först — och det den ger är bevis om era egna siffror snarare än ett påstående om våra. Sparad som en notebook är jämförelsen dessutom artefakten en valideringsgranskare kan läsa månader senare.

Altair SLC kör också program i SAS-språket utan SAS-licens, och har gjort det långt före oss. Där en lång meritlista väger tyngre än en arbetsyta i webbläsaren: begär en offert och kör båda genom era egna program i stället för genom endera leverantörens funktionslista. Vi ser hellre att ni väljer rätt än att ni väljer oss.

Ibland ja. Om SAS-koden är liten, eller teamet ändå lämnar språket, avslutar en omskrivning i Python eller R — pandas, tidyverse — saken en gång för alla och sätter er på en stack det är lättare att rekrytera till. Att köra koden som den är vinner när det finns mycket av den, när den är validerad, och när en omskrivning betyder att varje siffra måste valideras om i stället för att bara skrivas av.

Nej, och den som säger annat har inte räknat. Vår täckning av språket är bred men den har luckor, och ett program som går in i en misslyckas tydligt i stället för tyst. Procedurreferensen listar sats för sats vad som finns, och att köra era egna program i arbetsytan avgör frågan för ert bestånd på en eftermiddag i stället för i en upphandlingscykel.

På vår infrastruktur, inte er. En hostad arbetsyta betyder att filerna ni lägger in ligger på maskiner som vi driver — det är bytet mot att slippa installera och slippa patcha. Er organisation styr åtkomsten till arbetsytan, vilket inte är samma sak som att äga disken, och skillnaden är värd att säga rent ut innan en granskning frågar efter den. Där ett dataset inte får ligga på någon annans hårdvara kör samma motor som inbyggd Mac-app och som kommandoradsbinär på era egna maskiner, och programmen ändras inte när ni byter.

Inte egentligen. En notebook är en plats att skriva ett program och se loggen och utdata dyka upp bredvid, vilket är slingan ni redan arbetar i. Programmen förblir i SAS-syntax: det som ändras är fönstret, inte koden — och för den som helst slipper en notebook kör HTTP-vägen och kommandoraden samma .sas-fil orörd.

Testa på ett av era egna program

Logga in på en arbetsyta i webbläsaren — inget att installera, ingen SAS-licens.

Starta gratis provperiod